2011-05-12 15 views

回答

9

由於示例數據的最後一行沒有第一列,因此您必須解析它爲固定寬度的列:

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

43
  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

2

使用切斷與字節偏移:

cut -b 3 

用sed來刪除尾隨列:

sed s/..// 
+0

這隻適用於天真的例子;它甚至不開始解決一般問題。 – 2013-05-13 19:43:58

相關問題