Linux sed 正则表达式 替换字符?

一个文本文件里包含很多行下述数据:
Num:[x] [y] [z]
我想把文本文件里数字是255的z替换成0,x,y不改变,sed命令应该怎么写?

第1个回答  2018-11-23
sed -i '/^255/s/z/0/g' a.txt追问

x,y,z表示任意数字,我的意思是如果z是255就把255替换成0,其它都不变

追答

如果把所有的255都替换成0
sed -i 's/255/0/g' a.txt
如果把结尾的255替换成0
sed -i '/255$/s/255$/0/g' a.txt

本回答被网友采纳

Linux sed 文本替换
首先,sed的核心功能就是替换文本,无论是替换单个字符串,如:$ sed 's\/pattern\/replace_string\/' file,还是替换所有匹配,只需在命令末尾加上g,如$ sed 's\/pattern\/replace_string\/g' file。如果目标是替换从特定位置开始的内容,如从第n行开始,可使用\/Ng选项。另外,sed能高效处理空白行,通...

在red hat enter linux中用怎么替换字符串
sed。在linux中可以利用sed命令来查找和替换文件中的字符串,该命令采用的是流编辑模式,可以根据正则表达式匹配和处理文本文件中的数据,替换语法为“sed”s\/要搜索的字符串或正则表达式\/替换值\/g'要执行操作的文件名”。

Linux sed 文本替换
对于替换所有内容的需求,可使用-g参数。此参数指示sed替换每一处匹配。然而,在某些情况下,用户可能只希望从第n处匹配开始替换,此时可以结合-Ng选项使用。在处理空白行时,用户可以利用正则表达式 ^$ 来进行匹配。这样,sed能够高效剔除空白行,优化文本结构。已匹配字符串的引用是sed的一个亮点。通过...

linux sed命令
Linux的sed命令是一种强大的文本处理工具,它在文本流中进行模式匹配和替换操作。在上述例子中,sed被用来查找字符串"A"和"B"之间的内容,并进行替换。命令行中的'cat testA is B'被sed处理,通过正则表达式\\(A\\)(.*)(B)\\)找到"A"和"B"之间的部分,然后用'\\3\\2\\1'进行逆序,结果输出为"t...

sed命令替换时如何使用正则表达式
sed 's\/正则\/替换为\/g' 文件 s表示替换命令, \/正则\/是查找内容 "替换为"可以是 常规字符串也可以是前面正则中的捕获,g表示全局替换,不加g只替换1次。

Linux命令行——sed编辑器及正则表达式
{}指定可重复的正则表达式上限?匹配前面字符0次或1次+:匹配前面字符1次或多次|逻辑OR方式指定多个模式sed编辑器进阶:多行命令:N合并文本行,D删除多行组中的行,P打印多行组中的行分支:b [address]跳转到标签为 [label] 的行,若无label则跳转到脚本末尾模式替代:使用&符号代表模式匹配,圆括号...

Linux高效文本编辑工具sed之文本替换
其基本格式如下:`sed '[address-range|pattern-range] s\/original-string\/replacement-string\/[substitute-flags]' inputfile`。在实际操作中,我们可以用它进行文本内容的局部替换、关键字替换(仅首次匹配或全局替换)、指定重复出现位置的替换、结合其他选项如打印或写入文件,甚至与正则表达式结合使用,...

sed+正则表达式 替换文本文件
使用sed + 正则表达式批量匹配并替换文本内容 创建文件 text.txt 使用正则表达式 sed -i -e "\/「正则表达式」\/s「替换符号」\/(此处留空)\/被替换的内容\/g(选择替换模式g表示全布替换)"

sed正则表达式如何替换匹配的中间内容?
这里可以通sed的分组来完成, 在sed中通过()来进行分组,后面通过\\1 来引用第一个分组 \\2第二个...以此类推. 这里我们把\\2改为了你想要的a就可以了。# sed 's\/\\([a-zA-Z]\\)\\([0-9]\\)\\([a-zA-Z]\\)\/\\1a\\3\/g' a.txt ...

使用shell 命令进行查找替换
使用 sed 命令进行文本查找替换是一种常用的 Linux shell 操作。sed 命令全称为 stream editor for filtering and transforming text,用于对文本进行过滤和转换。示例中,sed 命令用于在文件 somefile.txt 中查找 toreplace 文本并将其替换为 yoursetting。这里的关键是,查找和替换的文本可以使用正则表达...

相似回答