计数文件中指定的单词



我想制作脚本,发现我选择的几个单词在我选择的文件中。

这是我的脚本:

#!/bin/bash
echo "Iveskite reiksme kurios kurios kurios ieskosime faile"
read reiksme
echo "Nurodykite faila kuriame ieskosime reiksmes"
read failas
kiek=$(awk '/$reiksme/' $failas | wc -l)
echo $kiek > kiek.txt

如果$ failas包含以下几行,

$reiksme
$reiksme
$reiksme

那没关系,但是如果$failas包含以下线之类的行

$reiksme $reiksme
random word $reiksme $reiksme
random random $reiksme

然后我的脚本无法计算多少个单词。

尴尬仅在线上分裂。您可以通过几个步骤进行操作,尽管有比这更容易的方法:

kiek=$(sed -e 's/s/n/g' $failas | grep "b${reiksme}b" | wc -l)

用newline替换所有空格,然后使用grep(如果愿意的话,或者您的尴尬)查找所需的内容,然后计算它们

我自己找到了答案。我刚刚更改

kiek=$(awk '/$reiksme/' $failas | wc -l)

to

kiek=$(tr -cs 'A-Za-z' 'n' < $failas | grep -c "$reiksme")

使用grep进行此操作的最佳方法是使用本文中所述的-o选项。将其放在一起:

kiek=$(grep -o "${reiksme}" | wc -l)

相关内容

  • 没有找到相关文章

最新更新