0

这是我的问题,我知道如何使用以下两种策略计算文件,但每个策略都有问题。

我正在使用“.sh”扩展名。

第一的:

count=`echo $2 | awk -F, {'print NF'}`

导致我的程序向我抛出错误:awk:无法执行 - 没有这样的文件或目录

第二:

count=`echo $2 | tr -cd , | wc -c`

如果您有多个用逗号分隔的值,则可以使用,但是,如果输入是没有逗号的单个项目,则它将不起作用。

就像我说的,这以前是使用 awk 的,但是由于某种原因,当我在物理设备而不是虚拟机上运行它时,它给了我这个错误。

有任何想法吗?

我知道的不是问题:shell 的版本是一样的。

4

1 回答 1

3

试试count=$(echo ${2} | awk -F, '{print NF}')吧——你的大括号和引号是从里到外的。

虽然,看起来你更大的问题是它awk似乎无法执行......你可以尝试which awk看看ls -l $(which awk)这是怎么回事......

于 2013-07-11T16:11:55.580 回答