使用sed命令查找和替换文件中的字符串的16个示例

原创
ithorizon 6个月前 (10-17) 阅读数 29 #Linux

使用sed命令查找和替换文件中的字符串的16个示例

在Linux和Unix系统中,`sed`(Stream Editor)是一个非常强势的文本处理工具,它可以用来查找、替换和编辑文本。下面我将提供16个使用`sed`命令查找和替换文件中字符串的示例,这些示例涵盖了从易懂的替换到更繁复的文本处理。

### 示例1:易懂的字符串替换

将文件中的所有“old”替换为“new”。

sh

sed 's/old/new/g' filename

### 示例2:忽略大小写进行替换

将文件中的所有“Old”替换为“New”,忽略大小写。

sh

sed -i 's/old/New/gi' filename

### 示例3:替换匹配特定模式的字符串

将文件中所有包含“example”的行中的“old”替换为“new”。

sh

sed '/example/s/old/new/g' filename

### 示例4:替换但不输出最终

将文件中的所有“old”替换为“new”,但不显示替换后的内容。

sh

sed 's/old/new/g' filename > /dev/null

### 示例5:使用正则表达式进行替换

将文件中所有以“abc”开头的单词替换为“xyz”。

sh

sed 's/abc\w*/xyz/g' filename

### 示例6:替换多个字符串

将文件中的“old1”替换为“new1”,同时将“old2”替换为“new2”。

sh

sed -i 's/old1/new1/g; s/old2/new2/g' filename

### 示例7:替换文本行中的第一个匹配项

将文件中每行第一个出现的“old”替换为“new”。

sh

sed 's/old/new/g' filename | sed 's/old/new/g'

### 示例8:替换特定行的内容

将文件中第3行中的“old”替换为“new”。

sh

sed -n '3 s/old/new/g p' filename

### 示例9:替换多行中的内容

将文件中第2到第4行中的“old”替换为“new”。

sh

sed -n '2,4 s/old/new/g p' filename

### 示例10:替换整个文件内容

将整个文件内容中的“old”替换为“new”。

sh

sed -i 's/old/new/g' filename

### 示例11:替换文件中的注释

假设文件中注释以“;”起初,将所有注释中的“old”替换为“new”。

sh

sed -i '/;.*old/s/old/new/g' filename

### 示例12:替换字符串并保留行号

将文件中的“old”替换为“new”,并显示行号。

sh

sed -n '/old/ s/old/new/g p' filename

### 示例13:替换字符串并删除行

将文件中所有包含“old”的行替换为“new”,并删除这些行。

sh

sed -i '/old/d' filename

### 示例14:替换字符串并添加新行

将文件中所有包含“old”的行替换为“new”,并在替换行后添加新行。

sh

sed -i '/old/s/old/new /g' filename

### 示例15:替换字符串并利用条件执行操作

将文件中所有包含“old”的行替换为“new”,如果该行以“start”开头,则不执行替换。

sh

sed -i '/start/!s/old/new/g' filename

### 示例16:替换文件中的特殊字符

将文件中所有包含特殊字符“$”的行替换为“$”后跟一个空格。

sh

sed -i 's/\$/ \$/g' filename

这些示例展示了`sed`命令在文本处理中的强势功能。通过组合不同的选项和模式,你可以实现几乎任何文本替换和编辑任务。期望这些示例能帮助你更好地领会和应用`sed`命令。

本文由IT视界版权所有,禁止未经同意的情况下转发

文章标签: Linux


热门