【发布时间】:2015-12-11 13:27:52
【问题描述】:
此命令在命令提示符下运行良好:
]$ ls -ltr ../cmxserver.log*|grep "`date | awk '{print $2" "$3}'`"|cut -d "/" -f2
cmxserver.log.2
cmxserver.log.1
cmxserver.log
但是,在 for 循环中使用 this 会产生错误 bash: syntax error near unexpected token `|'
]$for y in `ls -ltr ../cmxserver.log*|grep "`date | awk '{print $2" "$3}'`"|cut -d "/" -f2`
-bash: syntax error near unexpected token `|'
有什么想法吗?
谢谢
【问题讨论】:
-
不确定你想用你的命令做什么——你能解释一下吗?看起来可以简化很多。一般来说,解析
ls是要避免的。 -
第 1 步:将弃用的刻度(不能嵌套)替换为可以嵌套的
$(...)。 -
@EdMorton 是的,他们没有逃脱内部反引号,所以命令被破坏了。最好只使用
$(),它可以轻松嵌套。 -
如果您指定日期命令的格式,您可能可以完全跳过 awk