输出给具有两列的文件的文件

问题描述:

的第2列,separatedly通过标准的空白输出给具有两列的文件的文件

 
a b 
c d 
f g 
    h 

我怎么输出的第二列

由于示例数据的最后一行没有第一列,因此您必须解析它为固定宽度的列:

awk 'BEGIN {FIELDWIDTHS = "2 1"} {print $2}' 
+1

@“James C”fieldswidth =“2 1”是什么意思? – user678070 2011-05-13 23:01:20

+1

第一列是两个字符宽,第二列是一个字符宽 – 2011-05-15 16:28:48

+1

不幸的是,这只适用于幼稚的例子,并没有解决一般问题。罗马的答案是准确和可以接受的。 – 2013-05-13 19:45:12

  1. cut -d' ' -f2
  2. awk '{print $2}'
+0

的'-d'代表 “定界符” ,以帮助记忆 – ninjagecko 2011-05-12 22:06:20

+1

这些都不适用于示例数据。最后一行只有第二列。 – 2011-05-12 22:09:44

+0

它打印出一些空白行,我不得不尝试切割-d''-f1 c | awk'{print $ 1}',但它结合了源文件c中的两列。 – user678070 2011-05-12 22:15:12

使用切断与字节偏移:

cut -b 3 

用sed来删除尾随列:

sed s/..// 
+0

这只适用于天真的例子;它甚至不开始解决一般问题。 – 2013-05-13 19:43:58