我有一個如下所示的文件:(注意: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