2016-11-22 55 views
0

我有,我需要通過文件來分析和提取信息的任務。我可以使用bash輕鬆完成,但我必須通過unix命令才能完成。文本操作命令只

例如,我有類似如下的文件:

Set<tab>one<tab>two<tab>three 
Set<tab>four<tab>five<tab>six 
ENDSET 

Set<tab>four<tab>two<tab>nine 
ENDSET 

Set<tab>one<tab>one<tab>one 
Set<tab>two<tab>two<tab>two 
ENDSET 

... 

等等等等等等。我希望能夠提取一定數量的集合,比如前10個。另外,我希望能夠從列中提取信息。

再次,這是使用bash腳本做一件微不足道的小事,但我不確定如何做到這一點,只有Unix命令。我可以在shell腳本中將這些命令組合在一起,但是再一次只能使用unix命令。

+1

你是什麼_Unix commands_是什麼意思? awk是一個Unix命令嗎?和'python'? – mouviciel

+0

我想我可以通過sed,awk甚至perl來管理東西,因爲這是我可以想到的唯一方法,而不用通過例如腳本實際編寫腳本。慶典。不幸的是,我只是對所有這些人的屁股。 – basil

+1

你會怎麼做「使用bash」?這與使用「僅限於unix命令」幾乎相同。 –

回答

0

沒有輸出示例,它是很難知道自己的目標,但無論如何,你可以使用一個UNIX命令是AWK。

實例:

提取物2 從數據樣本(沒有包括 「ENDSET」 也不空行):

$ awk '/ENDSET/{ if(++count==2) exit(0);next; }NF{print}' file.txt 
Set  one  two  three 
Set  four five six 
Set  four two  nine 

提取3 和打印第二列僅(注第一列始終的 「設置」):

$ awk '/ENDSET/{ if(++count==3) exit(0);next; }$2{print $2}' file.txt 
two 
five 
two 
one 
two 

等等...(更多信息:$ man awk