gpt4 book ai didi

regex - 在 bash 中交换文件中的 2 个单词的最佳方法是什么

转载 作者:太空狗 更新时间:2023-10-29 11:26:58 30 4
gpt4 key购买 nike

我想交换文件中的 2 个单词。

例如:在下面的文件中,我想将一替换为二,将二替换为一

This is a test file one and two
test line again two
last line two one

我知道我可以通过:

 sed 's/one/\n/g;s/two/one/g;s/\n/two/g' test.txt

但在上述方法中,我假设 \n 没有出现在行中。那么,最好的方法是什么?

最佳答案

当 sed 逐行读取时,永远不会 [0] 是模式空间中的换行符。

但值得注意的是,POSIX sed 并不严格支持替换部分中的 \n。在模式部分 \n 被支持。

引用:s/pattern/replacement/

[0] 实际上,您可以使用 Next 和 Get 等追加命令在模式空间中添加多行。但是你必须明确,所以有人可能会争辩说换行符是交换值的最佳选择。

关于regex - 在 bash 中交换文件中的 2 个单词的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41136075/

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