regex - 在多个空格后替换单词

标签 regex replace sed

我需要在多个空格后替换一个单词:

实际上该文件包含这个字符串:

local   all             all                                     peer

我必须改变
local   all             all                                     md5

我尝试了各种组合,包括
sed -i.bak 's/all[\+ ]peer/md5/g'  file

没有运气。

任何的想法 ?

提前谢谢

最佳答案

试试这个(使用 GNU sed-Version 4.2.1 ):

sed -E -i.bak 's/(all\s+)peer/\1md5/' file

关于regex - 在多个空格后替换单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17014904/

相关文章:

design-patterns - 使用 sed 或 awk 查找并追加文件中具有相同 ID 的行

linux - 如何使用 sed 删除前导数字?

python - 正则表达式 - 在文本中搜索相似的国家名称

java - 用一个下划线替换点序列

vb.net - 获取其他字符串之间的字符串 vb.net

linux - 使用文件作为搜索和替换的输入来查找和替换 shell

regex - 偶数个 0 或奇数个 1 的二进制数的最短正则表达式

php - 使用正则表达式获取第一组数字

regex - VSCode 代码片段转换 : downcase and capitalize at the same time

iis - 将 Base64 CSR 提交给 Microsoft CA(通过 cURL)