Bashスクリプトに変数を持つawkモード

Bashスクリプトに変数を持つawkモード

Bashでawkコマンドを使用する際に問題があります。変数を含むパターンを探したいが機能しません。この行にどのような問題があるのか​​教えてください。

awk -F" "  "/$PWD/ {print $1,$3}"  file.txt

ベストアンサー1

二重引用符を使用したため、すべての$変数はawkに達する前にbash拡張されます。最初の質問は{ print $1, $3 }次のとおりです{ print , }。 。

次に使用したいawk構文は次のとおりです/<regular expression>/ { <action> }。正規表現は引用符なしのスラッシュを許可しませんが、$PWD確かに一部含まれています。 2番目の質問です。

次のように試すことができます。

"/${PWD//\//\\/}/ { print \$1, \$3 }"

/これを行うには、bashがinのすべての発生を置き換え、$PWDシンボルを\/エスケープしてbashにそのシンボルを残すようにします。$$1$3

おすすめ記事