IFS 읽기가 nixCraft 예제로 작동하지 않습니다.

IFS 읽기가 nixCraft 예제로 작동하지 않습니다.

탭을 구분 기호로 사용하는 텍스트 파일이 있습니다.

a   1   956 9723
b   2   2   11432
c   3   1307    2964
c   4   2   12586
d   5   1377    11726
e   6   1735    8416
f   7   1320    10443
g   8   1175    9240
h   9   1598    9357
i   10  1405    2066

나는 팔로우한다nixCraft의 예첫 번째 열과 마지막 열을 추출합니다.

while IFS="\t" read -r f1 f2 f3 f4
do
    echo "$f1"
    echo "$f4"
done < file.txt

전체 행만 반환합니다. 무엇이 잘못되었나요?

시스템: CentOS 7, bash 4.2

답변1

TAB=`echo 'x' | tr 'x' '\011'`; # tab
while IFS="$TAB" read -r f1 f2 f3 f4 junk; do
   printf '$f1=<%s>\n' "$f1"
   printf '$f4=<%s>\n' "$f4"
done

관련 정보