我有一个包含这样内容的文件。
Column1 Column2 Column3 Column4
USER1 25 Years xyz zyz 123 abc
USER2 15 Years 2 months blah abc sdsz sd 123 abc
等等 ...
现在我想要的是打印 COLUMN2 的所有内容,正如您所看到的,它具有动态内容,文本可以是一个单词或多个带空格的单词。所以我需要一种方法来打印第2列内容。
答案1
使用awk
:
awk 'NR==1{b=index($0,$2); e=index($0,$3)} {print substr($0,b,e-b)}' file
如果age
字段长度是动态的,您首先必须找出它的开始位置和结束位置。变量b
定义字段开始的字符,e
变量定义结束的字符。substr()
然后将绳子切成所需的长度。