[완료] awk 에서 필드 구분자를 탭 으로 쓰고 싶은데..

gorinux의 이미지

파일에 저장된 데이터 필드 구분이 아래와 같습니다.

번호(탭)이름   (탭)          전화번호     (탭)                 주소
1  (탭)  홍길동 (탭)  010-1011-1011 (탭) 서울시 홍길동 1110-11번지

위와 같은 형식 인데요 여기서

grep "서울시" list.txt | awk -F"구분자" '{ print $2, $4}'

이렇게 해서 추출 문자열을 아래처럼 뽑아보고 싶은데

홍길동 (탭) 서울시 홍길동 1110-11 번지

구분자가 없으면 공백이나 탭을 자동으로 필드 구분자로 인식한다고 해서 그냥
구분자 없이 했더니

홍길동(탭)서울시

만 나오더라구요

awk -F 다음 구분자를 탭으로 지정하고 싶은데
탭 구분자는 어떻게 넣어야지 인식을 하는지요?

neocoin의 이미지

말씀하시는데로 해봤는데 잘되는데요. 어떤 부분이 문제신가요?

grep "서울시" a.txt | awk -F"\t" '{ print $4}'
 
or
 
grep "서울시" a.txt | awk 'BEGIN{ FS="\t"};{ print $4}'

See Also http://people.cs.uu.nl/piet/docs/nawk/nawk_23.html

gorinux의 이미지

두번째로 알려주신

grep "서울시" a.txt | awk 'BEGIN{ FS="\t"};{ print $4}'

잘 됩니다.
BEGIN 문법을 이렇게 사용하는거였군요
한 수 배워갑니다. 감사합니다. (--)(__)(--);