2013-06-01 142 views
2

我只是需要幫助,想知道我想要什麼是可能的。這是我的文件 模樣在組中顯示結果

 
COLUMN1 | COLUMN2 | COLUMN3 
-------------------------------------------- 
A=dog | B=354 | C=343 
A=cat | B=435 | B=334 
C=324 | A=cow | A=pig 

有時候,我需要 我的屏幕上特定字段進行篩選類似的模式,並顯示它。例如

grep -Po 'A=(\w+)' test.txt 

然後,我會得到

 
A=dog 
A=cat 
A=bird 
A=cow 
A=pig 

但是,我想問的是,如果可以顯示另一列,並顯示 它的第一列的旁邊,這裏是我的榜樣,以明確

 
A=dog  B=354 
A=cat  B=435 
A=bird B=334 
A=cow 
A=pig 

或者有時我想顯示3列與他們各自的組。這個 是否可以單獨使用'Grep'?

+1

沒有。 grep的工作就是找東西,而不是在屏幕上製作漂亮的圖表。 –

+0

有什麼建議嗎? – Negx

+0

'鳥'從哪裏來?還有,如果'A = ...'在第一列,是否意味着要有下一列?如果在第二或第三行有A = ...? – fedorqui

回答

0

只是想和大家分享我的搜索的幾個小時後沒有發現任何簡單的解決方案:

$ grep的-Po 'A =(\ w +)' 的test.txt> A.TXT
$ grep的-Po 'B =(\ d +)' 的test.txt> b.txt
$ PR -mtS A.TXT b.txt

就是這樣:)

您也可以保存這在.csv

$ PR -mts:A.TXT b.txt> combine.csv
*注:冒號 「:」 是你的分隔符。

+0

請注意,這將會多次掃描文件。如果你想一次完成它,可以看一下'sed',或者用像Perl這樣的腳本語言編寫一個實用程序。 – BraveNewCurrency