【发布时间】:2012-06-25 13:04:01
【问题描述】:
以下 awk 语句按预期工作。 它从由 | 分隔的文本文件中返回第 1、第 2 和最后 4 列
awk '{print $1,"|", $2,"|", $(NF-3), "|",$(NF-2), "|", $(NF-1),"|", $(NF)}'
我想返回中间的列。换句话说,我需要将以下行中的 $something 替换为可以使用的东西。
awk '{print $1, $2, $something, $(NF-3), $(NF-2) $(NF-1), $(NF)}'
可以有 3 到 11 列将替换 something 变量。
【问题讨论】:
-
抱歉没有收到。
awk '{print $1, $2, $3, $(NF-3), $(NF-2) $(NF-1), $(NF)}'或awk '{print $1, $2, $4, $(NF-3), $(NF-2) $(NF-1), $(NF)}'有什么问题? -
我需要用 | 拆分文件7 列中的分隔符。
-
您可以使用:
'{ printf("%s|%s|%s|%s|%s|%s|%s|%s\n", $1, $2, $3, $(NF-3), $(NF-2) $(NF-1), $(NF); }' -
## awk: line 1: missing ) near ;
-
请显示一些示例输入和所需的输出。
标签: awk