1

我在 bash 脚本中尝试以下操作:

COUNT=`cat "$NEWLIST" | wc -l | awk \' { print $1 } \` `

其中 NEWLIST 是一个包含文件列表的字符串,每行一个。但我得到这个错误:

command substitution: line 74: unexpected EOF while looking for matching `''

为什么会失败?如何使用嵌套反引号?

(基本上我试图从 wc 的结果中去除空格,但我也想知道如何使用嵌套的反引号)

4

3 回答 3

8

这是您应该使用$()而不是反引号的原因之一。

此外,不需要cat或 AWK:

COUNT=$(wc -l < "$NEWLIST")
于 2011-03-22T01:04:45.270 回答
2

第二个“转义反引号”实际上应该是一个单引号,就像第一个一样。另外,要小心$1那里。

于 2011-03-21T23:24:13.387 回答
2

你正在混合 ' 和 `

COUNT=`cat "$NEWLIST" | wc -l | awk ' { print $1 } ' `
于 2011-03-21T23:24:38.687 回答