使用 bash,我尝试插入日期变量并搜索该日期的日志文件,然后将输出发送到文件。如果我像这样对日期进行硬编码,它会起作用:
sed -n '/Nov 22, 2010/,$p' $file >$log_file
但如果我这样做就会失败:
date="Nov 22, 2010"
sed -n '/$date/,$p' $file >$log_file
我得到的错误是:sed: 1: "/Nov 22, 2010/,": expected context address
谢谢您的帮助。
在 shell 脚本中,单引号和双引号是有区别的。单引号内的变量是not扩展(与双引号中的不同),因此您需要:
date="Nov 22, 2010"
sed -n "/$date/,\$p" $file >$log_file
反斜杠转义了 shell 应该按字面意思处理的美元符号,并且对 sed 有意义。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)