ヘッダ付きCSVファイルから特定のデータを重複なしで取り出す

こんにちは、さるまりんです。

こんな二つのファイルがあります。

$ cat june30 
# June 30th
# Friday

Unknown,25
Shiitake,13
Apple,3
Orange,10
Cucumber,8
Avocado,4
Enoki,7
Okra,33
$ cat july01 
# July 1st
# Saturday

Unknown,15
Cauliflower,2
Apple,3
Orange,10
Enoki,7
Pumpkin,1
Cabbage,5
Guava,1
Onion,15

いずれも野菜・果物の名前と数字をもつファイルです。
最初の2行が日付と曜日をもつヘッダ、その次の行が空行です。
その後に名前,数字の書式でデータを持っています。

これらのファイルからダブりなしで名前だけをアルファベット順にとりたいです。
またUnknown(不明なもの)はいらないです。

どうしましょう?

次のように取り出しました。
1. 二つのファイルよりヘッダ部分を取ったものを繋ぐ
2. カンマ区切りで1つ目のテキストを抽出し、それらを並べ替え重複なしにします。
3. いらないものを削除します。

こんなコマンドで実施しました。

$ tail -n +4 june30 > text1; tail -n +4 july01 >> text1
cat text1 | cut -d "," -f 1 | sort | uniq > text2
sed -e '/Unknown/d' text2 > text3
cat text3
Apple
Avocado
Cabbage
Cauliflower
Cucumber
Enoki
Guava
Okra
Onion
Orange
Pumpkin
Shiitake

tail -n +4 ファイルで最初の3行をとばし、4行目からにしています。
cut -d ","でカンマ区切り-f 1で一つ目の文字列をとり、
sort | uniq で並べ替えて重複行を削除、
sed -e '/文字列/d' ファイルで文字列の行を削除し、
結果ファイルを出力しています。

うまく組み合わせると用意されたコマンドだけでやりたいことができました。
頭の体操みたいです。
いろんなことを柔軟に考えられるように頑張ります。

読んでくださってありがとうございました。

それではまた!