我在这个形式的输入文件:AWK:打印一切,但不是最后的第n列
foo bar 08 320984 2384
bla foo baz 23 32425 32532
[...]
总有三个令牌到底,但在前面的令牌数量不详。我想将文件重写为CSV,以便可以由其他应用程序自动分析。我目前的awk命令是:
awk '{ print $(NF-2)";"$(NF-1)";"$NF}'
输出应该是
foo bar;08;320984;2384
bla foo baz;23;32425;32532
[...]
这不是'CSV'但是这不是点。您正试图将您的文件分成四个输出字段?最后三个字段是输入的最后三个字段,第一个字段是行中的其他所有字段? – 2014-11-04 21:46:21
你怎么知道什么是标记?任何文字没有数字?你在一行中有两个单词,在另一个单词中有三个单词。 – Jotne 2014-11-04 22:15:53
@Jotne从句子中“最后总是有三个令牌,但前面有一个未知数的令牌”我明白它总是像'tk1 tk2 tk3 ...tkn TK1 TK2 TK3'并且必须变成'tk1 tk2 tk3 ... tkn; TK1; TK2; TK3'。 – fedorqui 2014-11-05 09:00:58