2016-11-22 54 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