使用awk以相反的顺序在一行中输出单词

Nor*_*4ik 3 awk

如何使用相反的顺序输出一行awk?我使用这种结构:

{
 for (i = NF; i > 1; i--){
 print $i
}
}
Run Code Online (Sandbox Code Playgroud)

但它只在一个字符串中打印一个单词。

前:

apple pen dog cat
Run Code Online (Sandbox Code Playgroud)

后:

cat dog pen apple
Run Code Online (Sandbox Code Playgroud)

Gil*_*not 8

awk '
    {
        for (i=NF; i>=1; i--) {
            printf "%s%s", $i, i == 1 ? ORS : OFS
        }
     }
' file
Run Code Online (Sandbox Code Playgroud)


Gil*_*not 5

使用通道:

perl -lane 'print join " ", reverse @F' file
Run Code Online (Sandbox Code Playgroud)