我试图将wc的输出存储到变量中但有一些问题
首先我不能使用
COUNT=$(ls -1 file.log | wc -l)
因为我得到错误:
变量语法。
第二,如果我做这样的事情
COUNT='ls -1 file.log | wc -l'
然后我输入$count
我得到类似的东西:文件的内容
cat:无法打开|:没有这样的文件或目录
cat:无法打开wc:没有这样的文件或目录
cat:无法打开-l:没有这样的文件或目录
此外,如果我尝试使用
COUNT='wc -l < ./file.log'
如果我输入$ count我得到:
wc:无法打开&lt; 58 ./file.log 58总计
我会非常感谢任何帮助。
答案 0 :(得分:0)
我认为你使用了错误的引用。您需要使用反引号(`)(大多数键盘中数字1左侧的那个)
尝试,
count=`wc -l file.log`
count=`ls -1 file.log | wc -l`
echo $count
答案 1 :(得分:0)
看起来你正在使用C shell(csh)。它应该是这样的:
#!/bin/csh
set count = `wc -l /path/to/file | cut -d' ' -f1`
echo "$count"
看看这个:https://en.wikibooks.org/wiki/C_Shell_Scripting/Variables
或者,如果已安装脚本,则需要使用bash
运行脚本。