iirc:
cat filename.txt | awk '{ print $2 $4 }'
または、コメントに記載されているように:
awk '{ print $2 $4 }' filename.txt
cut
を使用できます コマンド:
cut -d' ' -f3,5 < datafile.txt
版画
1657 19.6117
1410 18.8302
3078 18.6695
2434 14.0508
3129 13.5495
-d' '
- つまり、space
を使用します 区切り文字として-f3,5
- 3 列目と 5 列目を印刷してください
cut
ずっと速い 純粋なシェル ソリューションとして大きなファイルの場合。ファイルが複数の空白で区切られている場合は、次のように最初にそれらを削除できます:
sed 's/[\t ][\t ]*/ /g' < datafile.txt | cut -d' ' -f3,5
(gnu) sed は tab
を置き換えます または space
単一の space
を持つ文字 .
バリアントの場合 - これも perl ソリューションです:
perl -lanE 'say "$F[2] $F[4]"' < datafile.txt
完全を期すために:
while read -r _ _ one _ two _; do
echo "$one $two"
done < file.txt
_
の代わりに 任意の変数 (junk
など) ) も使用できます。ポイントは、列を抽出することです。
デモ:
$ while read -r _ _ one _ two _; do echo "$one $two"; done < /tmp/file.txt
1657 19.6117
1410 18.8302
3078 18.6695
2434 14.0508
3129 13.5495