📅  最后修改于: 2023-12-03 15:36:34.217000             🧑  作者: Mango
在 Shell-Bash 程序中,sed
是一个十分强大的命令行工具。sed
可以帮助我们搜索、替换、删除文本中的字符串。本文将介绍如何使用 sed
命令进行字符串替换。
使用 sed
命令进行替换的语法如下:
sed 's/要被替换的字符串/新的字符串/g' 文件名
s
表示替换操作,/
是分隔符,可以用其他字符代替,比如 |
。要被替换的字符串
是要被替换的字符串,可以用正则表达式进行匹配。新的字符串
是要替换成的新字符串。g
表示替换所有匹配到的字符串。如果要直接替换掉原文件中的内容,可以使用 -i
选项,即:
sed -i 's/要被替换的字符串/新的字符串/g' 文件名
下面是一个示例,替换 file.txt
文件中的所有 old_string
为 new_string
:
sed 's/old_string/new_string/g' file.txt
如果要直接替换掉 file.txt
文件中的内容,可以使用 -i
选项,即:
sed -i 's/old_string/new_string/g' file.txt
在 sed
命令中,可以使用正则表达式进行匹配。下面是一些常用的正则表达式:
.
匹配任意单个字符^
匹配开头$
匹配结尾*
匹配前一个字符出现 0 次或多次+
匹配前一个字符出现 1 次或多次?
匹配前一个字符出现 0 次或 1 次[abc]
匹配 a、b 或 c 这三个字符中的任意一个[a-z]
匹配任意小写字母[A-Z]
匹配任意大写字母\d
匹配数字,等同于 [0-9]
\D
匹配非数字,等同于 [^0-9]
\w
匹配单词字符(字母、数字、下划线)\W
匹配非单词字符(除了字母、数字、下划线之外的字符)例如,使用正则表达式替换掉 file.txt
文件中的所有以 hello
开头的字符串:
sed 's/^hello/new_string/g' file.txt
sed
命令是一种十分强大的字符串替换工具,可以实现搜索、替换、删除等多种操作。本文简单介绍了 sed
命令的语法,以及如何使用正则表达式进行匹配。希望可以帮助大家更好地掌握 sed
命令的使用方法。