Linux shell 命令反转变长文本记录的字段顺序

标签 linux shell parsing reverse command-line-interface

我想要一个命令行咒语来反转任意长度文本记录的字段顺序。 Rearrange columns using cut 中提供的解决方案和 Elegant way to reverse column order不要解决这个问题,因为他们假定字段数量是固定的,尽管他们可能会进行微小的更改。

有点像展示反向cat 功能的tac 命令。我想要 ohce 命令(如果它存在的话)如何反转 echo 功能。

例如:

a b c d
e f
g h i

应该转化为

d c b a
f e
i h g

最佳答案

使用 awk:

awk '{for (i=NF; i>1; i--) printf "%s%s", $i, FS; print $i }' file
d c b a
f e
i h g

关于Linux shell 命令反转变长文本记录的字段顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21944796/

相关文章:

php - CentOS:在 shell 文件中找不到命令

java - JVisualVM 来自 Linux 服务器本身

linux - CentOS 6.3 上 eth0 和 venet0 配置的区别

mysql - bash 脚本中的未知选项 '--print-defaults'

shell - 如何将环境变量传递给 IntelliJ

ios - 当字典在 iOS 中没有标题时如何解析 JSON?

Javaagent 路径在 maven/linux/tomcat 上没有得到很好的解释

node.js - 从 node.js 文件返回一个值给 shell 脚本

python - 一个方法如何调用它在 python 中所属的类?

algorithm - 使用备选方案解析 CFG