我有一个如下所示的文件:(注意:A *,B *,C *是占位符)。该文件由;
计算每行字符出现次数
AAAA;BBBB;CCCCCCCC;DD;EEEEEEEE;FF;
AAA1;BBBBB;CCCC;DD;EEEEEEEE;FFFFF;
AAA3;BB;CCCC;DDDDDDDDD;EEEEEEE;FF;
余米试图写一个小脚本计数的分隔符;
出现的数量界定,如果是较小或大于5,输出所述线路到一个文本文件中。
delim=";"
while read line
do
n_of_occ=$(grep -o "$delim" <<< "$line" | wc -l)
if [[ $n_of_occ < 5 ]] || [[ $n_of_occ > 5 ]]
then
echo $line >> outfile
fi
done
出于某种原因,这似乎不起作用,我的输出是乱码。有人可以协助或提供不同的方法来解决这个问题吗?也许用Perl而不是bash?
您应该尝试提供一组正确代表性的数据。你样本的每一行都有六个分号';',根据你的规则,这意味着它们都应该被打印出来。一旦你说*“文件是用';'”来分隔的*除非它测试标准并附带相应的所需输出 – Borodin