我有一个约10,000行的.out文件。在文件的中间,我有一堆包含要打印的值的行。
例如:
...~5000 lines here... VALUE 1 429.62 a 394.55 b 865.66 c bla-bla-bla1 bla-bla-bla2 bla-bla-bla3 VALUE 2 535.55 a 591.14 b 152.88 c bla-bla-bla4 bla-bla-bla5 VALUE 3 5015.2 a 590.34 b 41.444 c bla-bla-bla6 ....~5000 lines until the end~...
我希望打印以下内容(仅粗体文本值):
865.66
152.88
41.444
到目前为止,我可以做到:
grep -r "VALUE" filename
然后返回:
VALUE 1 429.62 a 394.55 b 865.66 c
VALUE 2 535.55 a 591.14 b 152.88 c
VALUE 3 5015.2 a 590.34 b 41.444 c
我该怎么做才能获得想要的输出?我的目标是能够将打印的输出复制并粘贴到电子表格中,而无需添加任何其他内容。
答案 0 :(得分:0)
如果只有一个文件,为什么需要-r
来进行grep?
如果要使用grep(而不是像其他人所建议的那样使用awk),可以执行以下操作:选择一个grepped字段可以使用cut
:
grep ^VALUE filename | cut -d ' ' -f 7
^可以确保仅选择VALUE位于行首的那些行。
此解决方案假定字段之间仅存在一个空格。如果您想将一系列空间视为单个空间,则必须
grep ^VALUE filename | tr -s ' ' | cut -d ' ' -f 7
答案 1 :(得分:-1)
awk -在字符串VALUE的行中打印7个字段
awk '/VALUE/{print $7}' filenmae