如何使用bash计算文件中字符串的出现次数?

前端之家收集整理的这篇文章主要介绍了如何使用bash计算文件中字符串的出现次数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
以这个代码为例。假装它是一个HTML /文本文件,如果我想知道回声出现的总次数,我该如何使用bash?
new_user()
{
    echo "Preparing to add a new user..."
    sleep 2
    adduser     # run the adduser program
}

echo "1. Add user"
echo "2. Exit"

echo "Enter your choice: "
read choice


case $choice in
    1) new_user     # call the new_user() function
       ;;
    *) exit
       ;;
esac
这将输出包含搜索字符串的行数。
grep -c "echo" FILE

但是,这不会计算文件中出现的次数(即,如果您在一行中有多次回显)。

编辑:

玩了一下之后,你可以使用这个脏的一点代码来获得发生的次数

sed 's/echo/echo\n/g' FILE | grep -c "echo"

这基本上添加了每一个echo的一个换行符,所以它们都在自己的行上,允许grep计算这些行。如果您只想要单词“echo”,而不是“echoing”,则可以改进正则表达式。

猜你在找的Bash相关文章