質問

良い一日、

DailyValues.csvと呼ばれる毎日を変更する値を持つローカルCSVファイルがあります
カテゴリ2とカテゴリ4の値フィールドを抽出する必要があります。
次に、抽出された値から複製(もしあれば)を組み合わせ、並べ替え、削除します。
次に、新しいローカルファイルnewValues.txtに保存します。

これがDailyValues.csvファイルの例です。

category,date,value  
category1,2010-05-18,value01  
category1,2010-05-18,value02  
category1,2010-05-18,value03  
category1,2010-05-18,value04  
category1,2010-05-18,value05  
category1,2010-05-18,value06  
category1,2010-05-18,value07  
category2,2010-05-18,value08  
category2,2010-05-18,value09  
category2,2010-05-18,value10  
category2,2010-05-18,value11  
category2,2010-05-18,value12  
category2,2010-05-18,value13  
category2,2010-05-18,value14  
category2,2010-05-18,value30  
category3,2010-05-18,value16  
category3,2010-05-18,value17  
category3,2010-05-18,value18  
category3,2010-05-18,value19  
category3,2010-05-18,value20  
category3,2010-05-18,value21  
category3,2010-05-18,value22  
category3,2010-05-18,value23  
category3,2010-05-18,value24  
category4,2010-05-18,value25  
category4,2010-05-18,value26  
category4,2010-05-18,value10  
category4,2010-05-18,value28  
category4,2010-05-18,value11  
category4,2010-05-18,value30  
category2,2010-05-18,value31  
category2,2010-05-18,value32  
category2,2010-05-18,value33  
category2,2010-05-18,value34  
category2,2010-05-18,value35  
category2,2010-05-18,value07

私はいくつかの役立つ解析の例を見つけました http://www.php.net/manual/en/function.fgetcsv.php 値列のすべての値を抽出することができましたが、Category2/4の値を抽出してから並べ替えて複製を削除するように制限する方法がわかりません。

ソリューションは、PHP、Perl、またはShellスクリプトである必要があります。

どんな助けも大歓迎です。
前もって感謝します。

役に立ちましたか?

解決

これがシェルスクリプトソリューションです。

egrep 'category4|category2' input.file | cut -d"," -f1,3 | sort -u > output.file

私は使用しました cut 特定の列のみを抽出できることを示すためだけにコマンド f カット用のスイッチは、抽出する列を選択します。

u ソート用のスイッチにより、出力が一意になります。

編集:使用することが重要です egrep そしてそうではありません grep, 、 以来 grep 多少制限された正規表現セットを使用し、EGREPにはややさらなる施設があります

編集(GREPのみが利用可能な人向け):

grep 'category2' input.file > temp.file && grep 'category4' input.file >> temp.file && cut temp.file -d"," -f1,3 | sort -u > output.file && rm temp.file

かなり頭上を生成しますが、それでも機能します...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top