【发布时间】:2015-05-12 09:24:43
【问题描述】:
我正在尝试编写一个快速的 awk 脚本,以这种格式转换行:
AAAA BBBB CCCC DDDD...
到
CCCC AAAA BBBB DDDD...
这是我的脚本:
{ printf "%s %s %s %s", $3, $1, $2, $4 };
这可以正常工作,除非原始输入行有超过 4 个标记,在这种情况下不打印第 5 个和后面的标记。
我检查了一些答案,例如 Using awk to print all columns from the nth to the last,但它们依赖于将变量设置为 "",如果以后重用这些变量,这似乎会导致问题。
有没有一种简单的方法可以将$4 替换为“从$4 到行尾的子字符串”?
【问题讨论】:
-
@Mauris 它是该问题的副本,但该问题中的所有答案充其量都是繁琐的,大多数添加和/或删除空格都是不受欢迎的,而且对于您的一般情况来说,它们都是错误的只想按原样打印记录的结尾。