有一個應該處理傳入文本文件的shell腳本。計算輸入文件中字符串的出現次數
此文本文件包含分割成多行的字符串,並且每個字符串都存在多次。
shell腳本需要讀取此文本文件並輸出每個字符串的字符串和計數。
考慮文本文件是:
添
添
馬克
馬克
艾倫
艾倫
艾倫
輸出應該是這樣的:
蒂姆出現2次
馬克出現2次
阿倫出現3次
權現在,我能夠o打印出現字符串,但重複出現字符串的次數,即「Tim出現2次」會被打印兩次。我試圖用NULL替換一個字符串,只要我計算它的發生,但由於某種原因,sed不工作,因爲也許我沒有在正確的位置調用它(或以正確的方式)
#!/bin/bash
INPUT_FILE="$1"
declare -a LIST_CHARS
if [ $# -ne 1 ]
then
echo "Usage: $0 <file_name>"
exit 1
fi
if [ ! -f $INPUT_FILE ]
then
echo "$INPUT_FILE does not exists. Please specify correct file name"
exit 2
fi
while read line
do
while read i
do
echo $line
count=`grep -i $line | wc -l`
echo "String $line appears $count times"
done < $INPUT_FILE
done < $INPUT_FILE
+1,儘管不是'/./',您可以使用'NF '這將跳過空行就好了。 –
@jaypal很好的建議。並且能夠更好地處理帶有空白的行。編輯。 –