前提・実現したいこと
#test.txt
aaa,bbb,ccc,20220118
aaa,ccc,eee,20220118
ccc,ddd,eee,20220119
aaa,bbb,ccc,20220111
aaa,ccc,eee,20200118
上記に書かれているファイル内最初の3桁(上記でいうaaa,bbb,eeeなどの部分)の行数を検索した。
aaaとbbbの間には,が含んでいます。
結果として
aaa,bbb,ccc : 2
aaa,ccc,eee : 2
ccc,ddd,eee : 1
という結果が欲しい
また、なるべくシェルスクリプト自動化しものを作成したい
発生している問題・エラーメッセージ
同様の文字列があるはずだがない全て 文字列:1 となる
シェルスクリプト #!/bin/bash #引数でファイル指定 TEST=`head -n 1 $1` declare -i COUNT=0 #調べたい文字列 while read TEST_WORD do if [ "${TEST}" = "${TEST_WORD}" ]; then COUNT=$COUNT+1 else echo $TEST:$COUNT TEST=${TEST_WORD} COUNT=1 fi done echo $TEST:$COUNT
試したこと
文字列を指定する方法としてreadではなく他に方法があると模索しました。
また、コマンドでask・uniqを合わせて検索する方法も試しましたがこちらもダメでした。
(今回はシェルスクリプトで作成したいので、別質問に上げようかと思います)
補足情報(FW/ツールのバージョンなど)
bash