2013-05-07 29 views
-1

请解压缩从下载的文件:
http://s.yunio.com/MT3r2x
的数据格式为:如何将文件剪切成shell中的两个字段?

‘x + y’       x plus y         
    ‘x - y’       x minus y         
    ‘x*y’       juxtapose x and y       
    ‘x/y’       x forwardslash y       
    ‘x %+-% y’      x plus or minus y    

对于

cut -c 1-43 maths.txt 

输出是:

‘x + y’       
    ‘x - y’       
    ‘x*y’       
    ‘x/y’       
    ‘x %+-% y’      

对于

cut -c 44- maths.txt 

输出是:

x plus y         
x minus y        
juxtapose x and y      
x forwardslash y       
x plus or minus y 

两个领域是什么,我想。

为什么我不能使用下面的命令将它切成两个字段?
cut -d' ' -f2 maths.txtcut -d' ' -f2 maths.txt(ctrl+v+tab)既不可以。

+2

请提供了一些简单的线条 – 2013-05-07 12:48:39

+0

不知道你有什么,你想要什么,你越来越 – abasu 2013-05-07 13:05:03

回答

0

cut -d' ' -f2 maths.txtcut -d' ' -f2 maths.txt(ctrl+v+tab)都在工作。问题在于,他们在第一个空格之后和第二个空格之前的每行中都显示文本。由于您有很多空间,它只显示空格。

你可以做的是猫它使用col这样原来和管道:

cat maths.txt | col | cut -d$'\t' -f1 # first col 
cat maths.txt | col | cut -d$'\t' -f2 # second col 
0

cut统计字段的数量而不考虑前一字段。所以,awk连续3个空格意味着3个字段。因此,请尝试使用cut -d' ' -f-42 maths.txt或其他方式,您应该看到它生效。 -f2这里只是绝对的第二场,应该是白色空间。 -f-42是打印一切,直到第42场,并-f43-打印从第43场的一切。

相关问题