我正在编写一些脚本并且遇到了一些命令。我想将一些字符串(月份)放入现有文本中的特定位置。例子:
Left Right
Run Code Online (Sandbox Code Playgroud)
如何在左右之间放置一些文本?我试过打印,但它不能像我想要的那样工作。
date +'%b' | awk '{print "Left " $1} {print "Right"}'
Run Code Online (Sandbox Code Playgroud)
这一行添加了我不想添加的新行。
Left Jun
Right
Run Code Online (Sandbox Code Playgroud)
小智 13
date "+Left %b Right"
Run Code Online (Sandbox Code Playgroud)
您可以将字符串放在date命令本身中。未跨操作系统验证,但它在GNU date.
那是因为默认情况下插入换行符的print命令awk。您可以一次打印整个内容,以便只使用一次print调用:
$ date +'%b' | awk '{print "Left " $1 " Right"}'
Left Jun Right
Run Code Online (Sandbox Code Playgroud)
或者printf改用:
$ date +'%b' | awk '{printf "Left "; printf "%s", $1; printf " Right\n"}'
Left Jun Right
Run Code Online (Sandbox Code Playgroud)
printf在这里使用是没有意义的,我只是将它作为示例包含在内,并表明它\n默认不添加 a 。