iirc :
cat filename.txt | awk '{ print $2 $4 }'
atau, seperti yang disebutkan di komentar :
awk '{ print $2 $4 }' filename.txt
Anda dapat menggunakan cut
perintah:
cut -d' ' -f3,5 < datafile.txt
cetakan
1657 19.6117
1410 18.8302
3078 18.6695
2434 14.0508
3129 13.5495
itu
-d' '
- maksudnya, gunakanspace
sebagai pembatas-f3,5
- ambil dan cetak kolom ke-3 dan ke-5
cut
jauh lebih cepat untuk file besar sebagai solusi shell murni. Jika file Anda dibatasi dengan beberapa spasi putih, Anda dapat menghapusnya terlebih dahulu, seperti:
sed 's/[\t ][\t ]*/ /g' < datafile.txt | cut -d' ' -f3,5
di mana (gnu) sed akan menggantikan tab
atau space
karakter dengan satu space
.
Untuk varian - ini juga solusi perl:
perl -lanE 'say "$F[2] $F[4]"' < datafile.txt
Demi kelengkapan:
while read -r _ _ one _ two _; do
echo "$one $two"
done < file.txt
Alih-alih _
variabel arbitrer (seperti junk
) juga dapat digunakan. Intinya hanya untuk mengekstrak kolom.
Demo:
$ 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
Mengonversi mesin terbang TrueType ke gambar PNG?
hitung total ruang disk yang digunakan oleh file yang lebih lama dari 180 hari menggunakan find