到目前为止,我一直在简单的情况下使用 sed 命令,例如将文件中每一行中的每个数字 123 更改为 456,但现在我必须执行更复杂的查询并且我需要帮助。你知道如何使用 sed 命令来解决这个问题吗:
在文件 abc.txt 的每一行中是否存在来自集合 (123, 456, 789) 的数字并且存在数字 4242 将数字 4242 更改为 2424?
最佳答案
sed -e '/123\|456\|789/ s/4242/2424/'
第一部分是“地址”,仅本地址匹配时才会发生以下替换。 \|
表示“或”,它分隔备选方案,因此任何数字都匹配。
关于linux - 在复杂查询中使用 sed 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48501274/