次のデータを含むファイルがありますtest1.txt
。
nnn 90
vvv 80
ttt 50
sss 20
2番目の列の値を比較し、その行を削除したいと思います。たとえば、2 番目の列の値が 20 より小さい場合は、対応する行エントリを削除します。出力はtest1.txt
次のようになります。
nnn 90
vvv 80
ttt 50
sed
とコマンドを試しましたが、うまくいきawk
ません。
答え1
そしてawk
:
awk '$2>20' file
$2
getherの2番目のフィールドがそれより大きいことを確認してください20
。その場合は、その行を印刷します。
答え2
そしてbash
:
$ while read -r a b; do [ "$b" -gt 20 ] && echo "$a $b"; done <file.txt
nnn 90
vvv 80
ttt 50
その後、各行を読み取り、スペースで区切られた列の2番目の列に20より大きい値があることを確認し、その場合は行を印刷します。