![AWKを使用して特定の数字で始まる行を削除する方法は? [閉鎖]](https://linux33.com/image/103268/AWK%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E7%89%B9%E5%AE%9A%E3%81%AE%E6%95%B0%E5%AD%97%E3%81%A7%E5%A7%8B%E3%81%BE%E3%82%8B%E8%A1%8C%E3%82%92%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%AF%EF%BC%9F%20%5B%E9%96%89%E9%8E%96%5D.png)
$ 1($ 3)の最初の値が7より大きい場合は、$ 1のすべてのレコードを削除する必要があります。 $ 1と$ 3が並べ替えられます。
オリジナルコンテンツ:
101 26 5
101 29 6
101 20 7
104 26 1
104 23 2
105 28 2
105 25 3
108 28 9
108 27 10
希望の出力:
101 26 5
101 29 6
101 20 7
104 26 1
104 23 2
105 28 2
105 25 3
答え1
列3から7以上の値を持つすべての入力行をフィルタリングするには、次の手順を実行します。
$ awk '$3 < 7 { print }' <data.in >data.out
条件(「フィールド(列)3の値が7より小さい」)がtrueの場合、Awkスクリプトはレコード全体(行)を$3 < 7 { print }
実行して出力します。print
$3 < 7
data.out
お客様のデータに対して、次の内容を含むファイルが生成されます。
101 26 1
101 29 2
101 20 3
104 26 1
104 23 2
105 28 2