タブを区切り文字として使用するテキストファイルがあります。
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