我试图找到一个字符串在文件中重复的次数,同时我要将它存储在一个变量中.
当我使用命令(cat filename | grep -c '123456789')时,它会正确显示计数,但是当我使用下面的命令时,它显示为未找到的命令.
var =$(cat filename | grep -c '123456789')
echo $var
Run Code Online (Sandbox Code Playgroud)
你能告诉我哪里错了吗?
Bas*_*tch 16
不要在=标志周围使用空格:
var=$(cat filename | grep -c '123456789')
Run Code Online (Sandbox Code Playgroud)
但是你cat简单地使用了这么简单的代码
var=$(grep -c '123456789' filename)
Run Code Online (Sandbox Code Playgroud)
请记住,grep可以直接读取文件.你可以避免无用的猫.
在您的问题的示例中,由于等号前面的空格,发生命令not found错误.试试这个:
var=$(grep -c '123456789' filename)
Run Code Online (Sandbox Code Playgroud)
或者如果你使用bash:
read var < <(grep -c '123456789' filename)
Run Code Online (Sandbox Code Playgroud)
或者(为了完整性)在csh/tcsh中:
setenv var `grep -c '123456789' filename`
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
38112 次 |
| 最近记录: |