我从这里来问题我需要将文件名值存储在变量中,并在命令中使用此变量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
。