2016-12-28 5 views
0

週単位でデータを分離したいと考えています。その週は各行の特定のフィールドに記載されています。grep、cut、またはそのフィールドに関連する他のものだけが指定されていますが、残りのデータはまだ保存されています。私は情報をそれを介してパイプすることができる必要があります|それが私のプログラムの残りの部分がそれを必要とする方法です。複数のフィールドを印刷するときにcutとgrepを使用してデータを区切ります

出力が処理されますと、それはこの

asset.14548.extension 0 
asset.40795.extension 0 
asset.98745.extension 1 

ようになるはずです、私はまだので、私の出力で資産名を維持することができることながら、その週数でそれらの名前を並べ替えることができるようにしたいですアセットが表示される回数はカウントアップされますが、私の問題は、自分のプログラムで週番号から「1」だけで十分ですが、アセット名にある「1」を無視するほどスマートにすることはできません。私が見つけた

UPDATE

最も近い答えは良いことだが、それは同じ長さですべての文字列に依存している

grep "^.........................$week" ; 

ました。私はそれが左の代わりに右から始めることができる方法はありますか?もしそうなら、それは私の質問に答えるだろうから。

^grepに左からチェックを開始するように指示します。 grepにそのスペースにあるものを無視するように指示します。

+2

あなたが何をしようとしているのかはっきりしません。サンプル入力、現在の出力、および望ましい出力が役立ちます。 – dramzy

+1

これは 'grep'と' cut'の代わりに 'awk' /' gawk'を使うことをお勧めします。 – webb

+0

"私はできるだけ簡単にしようとします" ....そのすべて、サンプル入力、期待出力、現在のコード、現在の出力/エラーメッセージは必要ありません。そして、 '[g] awk'が行く方法であることに同意してください。良いclu、。 – shellter

答えて

0

私はいくつかのドキュメントで探していたものを見つけました。アンカーマッチ! $週は0

asset.14548.extension 0 
asset.40795.extension 0 

た場合

grep "$week$" file 

が出力この私は私の正確な質問や単純な答えと密接に類似した質問を見つけることができなかっただろう、そううまくいけば、それは彼らの頭を悩ま次の人を助けますこれに。

+1

awkはこのタイプの操作には理想的です。例えば、 '$ awk '$ NF~0 {print}' file' – Zlemini