0

私はawkコマンドで問題に直面しています。実際に変数を使用しましたDELETION_COMMANDが、その変数の値は ですrm -rf。その後、以下の行を実行しようとすると、エラーが発生します。rmを同じ変数の値として使用している場合DELETION_COMMAND。その後、正常に動作します。

awk '{print "'${DELETION_COMMAND}'"" ""'${COMPLETE_PATH}'""/"$1"/*"}' ${DB_FEED_FILE} > ${TEMP_FEED_FILE}

エラー :

awk: {print "rm
awk:        ^ unterminated string

提案してください。
どこが間違っていますか?

4

2 に答える 2

1

ハイライトはすでにエラーを示しています。awk 式を一重引用符で囲み、式で一重引用符を使用します。Awk は、あなたの表現が次のようであると考えています。

awk '{print "'

これを解決するには、バックスラッシュを使用して一重引用符をエスケープします。

于 2013-01-30T08:12:43.780 に答える
0

フラグを使用して-vシェル変数を に渡しますawk。引用を忘れないでください。

awk -v com="${DELETION_COMMAND}" -v path="${COMPLETE_PATH}" '{ print com, path, "/", $1, "/" }' "${DB_FEED_FILE}" > "${TEMP_FEED_FILE}"
于 2013-01-30T08:15:29.827 に答える