我是 Sed 新手,我正在尝试使用 Sed 学习一些模式。 我得到了一个 filenamne.txt,其中包含以下条目:
ppp/jjj qqq/kkk rrr/lll
我的目标是在三个 word1/word2 列中交换斜杠之前的单词和斜杠之后的单词:
jjj/ppp kkk/qqq lll/rrr
我尝试使用sed –re ‘s!(.*)(/)(.*)!\1\2\!' filename.txt
,但没有成功。知道我该怎么做吗?
最佳答案
$ echo "ppp/jjj qqq/kkk rrr/lll" | sed -e 's/$/ /' -e 's!\([^/]*\)/\([^ ]*\) !\2/\1 !g'
jjj/ppp kkk/qqq lll/rrr
关于regex - 使用 SED 交换 bash 中的列而不使用循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41304747/