a,あ,1,11
b,い,2,22,ppp
c,う,3,33
d,え,4,44,444,ppp
…
ここから
b,い,2,22,ppp
d,え,4,44,444,ppp
とpppのついている行のみを抽出する方法をお教え願えますでしょうか
もしエクセルが使えるのでしたら、
そのCSVファイルをエクセルで開き、
どこか右のほうのあいている列に
=COUNTIF(A1:F1,"ppp")
といったような、その行全部が含まれる範囲を指定した関数を入れてみてください。
上記の例だと、A1~F1の範囲に"ppp"がある数を数えて表示します。
だから、
a,あ,1,11 の行では、0
b,い,2,22,ppp の行では、1
と表示されるはずです。
1つ上記の関数を入れたら、そのセルの右下にカーソルを合わせて、カーソルが十字の形になったら
そのまま下のほうにドラッグすると同じ関数をコピーすることができます。
これが終わると、関数を入れた列が0と1(または2以上)になると思いますので
上部メニューの「データ」→「フィルタ」→「オートフィルタ」をセットして
1の列を選択します。
2以上の列がある場合、オプションで「0以外」にする必要があります。
こんな感じですが、ものすごくわかりにくいですよね・・。すみません・・。
そもそもエクセルがなかったらもっとすみません・・。
普通にgrepで「grep ",ppp" csvfile.csv > result.csv」とするのはダメでしょうか?
UNIX系OSならふつーにgrepで、WindowsならcygwinかSFU(Service for UNIX)か、下記ソフト内のgrepコマンドでどうぞ。
http://www.vector.co.jp/download/file/win95/writing/fh131855.htm...
cygwin やSFUをご存知でなかったらこちらからどうぞ。:
http://ja.wikipedia.org/wiki/Cygwin
http://www.microsoft.com/japan/technet/interopmigration/unix/sfu...
ちなみに、もっとローテクでExcelで開いて「オートフィルタ」で抽出した後コピー、という方もいると思います。
ありがとうございます。
grepでできました。