皆さん:
最後のフィールドに + 記号を含む文字列を渡すときに awk サブコマンドに問題があります。末尾のフィールドセパレーターなしで、レコードの最後のフィールドを除くすべてを出力しようとしています。例えば:
echo "dog cat fish hamster" | awk 'sub(FS $NF, x)'
これにより、「犬猫魚」の目的の出力が生成されます
echo "dog cat fish +hamster" | awk 'sub(FS $NF, x)'
これにより、出力がないように見えるものが生成されます。
echo "dog +cat fish hamster" | awk 'sub(FS $NF, x)'
これは、"dog +cat fish" の予想される出力も生成します。
awk を使用して、scp でファイルを転送する際に使用する 1 つ以上のソース ディレクトリと単一の宛先ディレクトリを含む構成ファイルを解析しています。/app/tgv+/inなどの一部の宛先ディレクトリには + が含まれており、レガシー コードが原因でマウント ポイントを変更できません。この問題は、最後のフィールドに + が表示された場合にのみ発生するようです。私が何か間違ったことをしたのか、それとも単に awk 文字列パーサーの問題なのかを判断するのを手伝ってくれたら、とても感謝しています。ご協力いただきありがとうございます。
DGC