私はここに来ました。質問ファイル名の値を変数に保存し、コマンドでprint
静的値の代わりにこの変数を使用する必要があります。
これは私の実験ですが、期待どおりに機能するように線を修正することはできません。
filename=catalina.$(date +"%Y-%m-%d").log; tail -n+1 -F $filename | awk '{printf $filename"*"; print $0}'
ベストアンサー1
-v
オプションの使用awk
filename=catalina.$(date +"%Y-%m-%d").log
tail -n+1 -F "$filename" | awk -v file="$filename" '{printf "%s* %s\n",file,$0}'
どこ
- 単一の
printf
ファイル名(ファイル変数)*
と次の行を使用します。 FILENAME
内部変数を使用しませんawk
。