[완료] 쉘스크립에서 텍스트 파일 필터링하기.. 질문입니다.

1
point

C로 구현하면 될듯한데.. 쉘스크립차원에서 해결을 봐야해서요.

test.dat 라는 파일이 있는데.. 내용이

TEST000001R113XXXX
TEST000002R115XXXX
TEST000003R115XXXX
TEST000004R117XXXX
TEST000005R113XXXX

이런 식이라고 할때, 이 파일을 읽어서 레코드의 11~14의 문자열이 R113인것만 result.dat라는 파일에 따로 저장하고
싶은데.. 쉘스크립에서 어떻게 구현하면 될까요..

result.dat의 내용은

TEST000001R113XXXX
TEST000005R113XXXX
이렇게 나오게 하고 싶습니다.

cut과 awk 이용해서 해보려다가.. 안되서 질문드립니다.

pung96의 이미지
3173
points

awk의 substr을

2
points

awk의 substr을 이용하셔도 되구요
perl은
perl -ne'substr($_,11,3)=~/R113/ and print' test.dat > result.dat

더 좋은 방법은

perl -ne'/TEST\d+R113/ and print' test.dat > result.dat

감사합니다.

1
point

아.. 감사합니다.
C로 작성하려다가, 쉘차원에서 해결보라고 해서 이리저리 머리굴리던 중이였는데..

정말 감사합니다.

alfalf의 이미지
3444
points

덧붙이자면...

1
point

그런 일 전문 유틸리티인 grep을 쓰세요.

grep -e '^.\{10\}R113' test.dat > result.dat

댓글 보기 옵션

원하시는 댓글 전시 방법을 선택한 다음 "설정 저장"을 누르셔서 적용하십시오.