需求
将文件 test 中的所有逗号(,)和句点(.)替换为空格,并直接修改原文件。
实战
1.查看原文件
cat test
Hello,world.This is a test.
2.实现:以下3种方法均可实现
sed -i 's/\,\|\./ /g' test
sed -Ei 's/,|\./ /g' test
sed -i 's/[,.]/ /g' test
3.查看原文件
cat test
Hello world This is a test
分析
命令分解:以sed -i ‘s/,|./ /g’ test为例
**-i**:原地修改文件内容,不生成备份文件。
**s/.../.../g**:替换命令,s 表示替换操作,g 表示全局替换(一行中所有匹配项)。
**\,\|\.**:正则表达式模式,匹配逗号或句点。
\, 匹配字面逗号(,),此处转义符 \ 可省略(直接写 , 即可)。
\| 表示逻辑“或”(在基本正则表达式 BRE 中需转义)。
\. 匹配字面句点(.),在正则中 . 默认匹配任意字符,因此需转义。