1

3 番目のフィールドに 100 (100) 未満の数字を持つ行を保持するには、awk スクリプトを使用して末尾と先頭のアンダースコアを処理するにはどうすればよいですか。

入力例は次のとおりです。

asd 5.0 _84_ 34
sds 3.8 _340_ 56
sds 3.8  99 56
sds 3.8 _340_ 56          
ddd 288 _26_ 45
sdf 321 _374_ 53 
tyu 321 _39_ 89 
sds 3.8 120 56 
wer 3.8 _28_ 345
sds 3.8  45 56
tre 230 _265_ 90  
rtu 389 _372_ 45
bnm 965 _270_ 745
fgh 856 _44_ 346
sds 3.8 107 56

期待される出力は次のとおりです。

 asd 5.0 _84_ 34
 sds 3.8  99 56            
 ddd 288 _26_ 45
 tyu 321 _39_ 89 
 wer 3.8 _28_ 345
 sds 3.8  45 56       
 fgh 856 _44_ 346
4

1 に答える 1

2

たとえば、次のようにします。

$ awk -F_ '$2>=100' file
_340_ 
_374_  
_265_  
_372_ 
_270_ 

説明

  • -F__フィールドセパレーターとして定義します。
  • $2>=1002 番目のフィールドが 100 以上のレコードを取得します。その場合、デフォルトの awk アクションを実行します{print $0}
于 2013-10-17T10:39:36.590 に答える