linux - 在复杂查询中使用 sed 命令

标签 linux bash sed command

到目前为止,我一直在简单的情况下使用 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/

相关文章:

linux - 尝试在 CentOS 7 上的 Apache 上安装 GitLab

linux - 在 bashrc 中添加 icpc 的路径?

bash - 将 zenity 的输出分配给变量

bash - 如果 block 在 Bash 中总是转到 else

javascript 替代 sed 脚本

bash - 使用 sed 将引号插入管道分隔线

linux - Golang,在Linux中调用一个新的系统调用

c - 文件描述符自动更新到文件末尾

regex - 如何使用 bash 中的 grep 停止贪婪

linux - 如何将字符串添加到文件中每一行的开头?