我正在尝试删除日期函数的新行字符,并让它包含空格。我用这个保存变量:
current_date=$(date "+%m/%d/ AT %y%H:%M:%S" )
我可以通过echo $ current_date看到这是我需要的正确格式。 但是,当我需要使用此变量时,它不会按照我希望的方式运行。
awk '(++n==47) {print "1\nstring \nblah '$current_date' blah 2; n=0} (/blah/) {n=0} {print}' input file > output file
除非另有说明,否则我需要将日期保留在当前文本行中并继续不使用换行符。
提前致谢。
答案 0 :(得分:3)
您可以像以前一样将变量插入到命令字符串中,而不是尝试将其传递给awk:
awk -v date="$(date "+%m/%d/ AT %y%H:%M:%S")" '# your awk one-liner here' input_file
然后,您可以在脚本中使用变量date
作为awk变量:
print "1\nstring \nblah " date " blah 2";
顺便说一下,看起来您的原始print
声明已被破坏,因为它的末尾缺少双引号。