私はtsvの単語ファイルを持っており、ファイルにいくつの四重奏があるかどうかを計算し、ファイル名と四重奏の数をcsvファイルにエクスポートするbashを作成したいと思います。
たとえば、fileName.tsv ファイルの場合: I,have,this,word,cat,home,dog,day
結果は fileName.tsv,2 の csv ファイルになります。
答え1
このような
$ echo "I,have,this,word,cat,home,dog,day"|gawk -F, '{printf("%d\n", NF/4)}'
2
答え2
四重奏数を求めるには、整数除算を使用して4で割って単語数を数えます。
まず、sed 's/,/ /g'
単語数を簡単に解析できるようにwithに変更します。それからそれを入力して単語数を数えました。最後に、私は整数除算を行いました。次のようになります。,
wc -w
bash
$(( x / 4 ))
$ cat fileName.tsv
I,have,this,word,cat,home,dog,day
$ sed 's/,/ /g' fileName.tsv
I have this word cat home dog day
$ sed 's/,/ /g' fileName.tsv | wc -w
8
$ echo $(( $(sed 's/,/ /g' fileName.tsv | wc -w) / 4 ))
2
csvファイルを作成するために<filename、quartet>を使用すると述べました。 bashのループを使用して、パターンに一致する各ファイルを解析するために2行以上が必要であるとします。
for filename in *.tsv; do
quartet=$(( $(sed 's/,/ /g' $filename | wc -w) / 4 ))
echo $filename,$quartet >> output.csv
done