我想计算文件中 G8LE 单词的数量,因此我打开了一个终端并使用:
grep -o -i G8LE C60_TAPC_GRM_box.gro | wc -l
并且它成功了。
我尝试编写一个由多个步骤组成的脚本,这是我的第一步。因此,我创建了一个 .sh 文件,并编写了相同的命令,但使用
va1=$(grep -o -i G8LE C60_TAPC_GRM_box.gro | wc -l)
然后我尝试使用 bash trial5.sh 运行该文件,但什么也没发生,也没有用。请告诉我哪里出了问题。
谢谢
答案1
该变量va1
需要付诸行动。
变量va1
,尽管它包含命令的输出(这称为命令替换),实际上 shell 本身并不将其识别为命令,也不会将其作为命令执行。它需要由脚本中的命令调用。
尝试echo "$va1"
在脚本的第二行添加如下内容:
va1=$(grep -o -i G8LE C60_TAPC_GRM_box.gro | wc -l)
echo "$va1"
您可能还需要添加C60_TAPC_GRM_box.gro
文件的完整路径,如下所示:
va1=$(grep -o -i G8LE /home/YourUserName/C60_TAPC_GRM_box.gro | wc -l)
祝你好运