awkを実行しているさまざまな情報を含む配列のリストがあります。
number location length value
1 2 40 0.96
--- 5 45 0.97
4 5 47 0.96
--- 5 35 0.95
2 5 60 0.95
--- 3 55 0.96
awk '{if ($2=5 && $3 >= 40 && $3<=50 && $6>=0.96) print $0}' Infile.txt
それは私に正しい行--- 5 45 0.97
と4 5 47 0.96
. ただし、次のような別の条件を追加したい場合$1= ---
は、最初の出力のみを取得します--- 5 45 0.97
awk '{if ($2=5 && $3 >= 40 && $3<=50 && $6>=0.96 && $1="\-\-\-") print $0}' Infile.txt >List_position.txt
1 5 45 0.97
これは置換として機能し、前の出力をandとして返し1 5 47 0.96
ます。で試しましたが$1=---
、$1='\-\-\-'
どちらも機能しませんでした。で試してみると$1="---"
、$1 が に置き換えられ---
ます。
私は awk が初めてで、なぜそれが置換を行うのか本当にわかりません。が awk の置換である場合" "
、どうすれば条件を付けることができ---
ますか?