gpt4 book ai didi

regex - 使用 sed 反转列

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:35:18 25 4
gpt4 key购买 nike

如果我有这样一个文件:

aa:bb:cc  
dd:ee:ff

我想将列反转为:

cc bb aa  
ff ee dd

基本上反转列并将“:”替换为“”

在担心“:”替换之前,我一直在尝试降低反转。我试图为此仅使用 sed。

sed -r 's/(:.*)(.*:)/\2\1/'

理想情况下,这应该匹配第一个“:”之前的所有内容,然后匹配最后一个“:”之后的所有内容,然后以相反的顺序打印它们,但事实并非如此。

任何帮助都会很好,我觉得我很接近,但只是在这里遗漏了一些东西。

最佳答案

如果你坚持使用sed:

sed -r ':a;/[^:]*:[^:]*:/{s/([^:]*):([^:]*):(.*)/\2 \1:\3/;ba};/[^:]*:[^:]*$/s/([^:]*):([^:]*)$/\2 \1/;' file

那里有个小循环。

但是使用 awk 更好:

awk -F: '{for(i=NF;i>1;i--)printf("%s ",$i);print $1}' file

printf 不会返回(加上\n),print 会。

关于regex - 使用 sed 反转列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35109785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com