我正在尝试这个
awk '{B=$(NF-1);A=$NF; $NF=$(NF-2); $(NF-1) = $(NF-3); $(NF-2)=A; $(NF-3) = B; print;}' input_text.txt
但我收到了以下错误:
awk: cmd. line:1: (FILENAME=cazzo.txt FNR=2) fatal: attempt to access field -1
样例输入:
$ cat input_text.txt
1 7 9 11 0 5 2
如果我用
tab
替换input_text.txt
文件中的spaces
,就会出现相同的情况。 1 7 9 5 2 11 0
我正在 Windows 10
上使用 Cygwin
。
awk 'NF>3 {B=$(NF-1);A=$NF; $NF=$(NF-2); $(NF-1) = $(NF-3); $(NF-2)=A; $(NF-3) = B} 1' input_text.txt
- anubhavaawk 'NF>3 {B=$(NF-1);A=$NF; $NF=$(NF-2); $(NF-1) = $(NF-3); $(NF-2)=A; $(NF-3) = B} 1' input_text.txt
的输出结果是:11 0 5 2
。 - Barzi2001\r\n
行尾,您需要从$NF中删除\r
。 - glenn jackman