四时宝库

程序员的知识宝库

linux常用sed命令(shell)(linux sed -c)

sed(Stream Editor)是一个强大的文本处理工具,常用于文本替换、删除、插入等操作。以下是一些常见的 sed 使用实例:

1. 替换文本

将文件中的某个字符串替换为另一个字符串。

sed 's/old_text/new_text/' filename
  • s 表示替换操作。
  • old_text 是要被替换的文本。
  • new_text 是替换后的文本。
  • filename 是要处理的文件名。

2. 全局替换

默认情况下,sed 只替换每行中第一个匹配的字符串。如果要替换所有匹配的字符串,可以使用 g 选项。

sed 's/old_text/new_text/g' filename

3. 删除行

删除文件中包含特定字符串的行。

sed '/pattern/d' filename
  • d 表示删除操作。
  • pattern 是要匹配的字符串。

4. 删除空白行

删除文件中的所有空白行。

sed '/^$/d' filename
  • ^$ 表示空白行。

5. 插入文本

在指定行前或后插入文本。

  • 在指定行前插入文本:
  • sed '2i\new_line_text' filename
  • 在第2行前插入 new_line_text。
  • 在指定行后插入文本:
  • sed '2a\new_line_text' filename
  • 在第2行后插入 new_line_text。

6. 替换特定行

替换文件中的特定行。

sed '2c\new_line_text' filename

将第2行替换为 new_line_text。

7. 打印特定行

打印文件中的特定行。

sed -n '2p' filename

打印第2行。

8. 使用正则表达式

sed 支持正则表达式,可以进行更复杂的匹配和替换。

sed 's/[0-9]*//g' file.txt

删除 file.txt 中的所有数字。

9. 保存修改到原文件

默认情况下,sed 不会修改原文件,而是将结果输出到标准输出。如果要直接修改原文件,可以使用 -i 选项。

sed -i 's/old_text/new_text/g' filename

10. 备份原文件

在使用 -i 选项时,可以指定备份文件的扩展名,以便在修改前备份原文件。

sed -i.bak 's/old_text/new_text/g' filename

11. 处理多个文件

可以一次性处理多个文件。

sed 's/old_text/new_text/g' file1.txt file2.txt

12. 使用脚本文件

可以将 sed 命令写入脚本文件,然后通过 -f 选项执行。

sed -f script.sed filename

13. 处理特定范围的行

可以指定行的范围进行操作。

sed '2,5s/old_text/new_text/g' filename

替换第2行到第5行中的 old_text 为 new_text。

14. 处理匹配行的下一行

可以使用 n 命令处理匹配行的下一行。

sed '/pattern/{n;s/old_text/new_text/}' filename

在匹配 pattern 的行的下一行中,将 old_text 替换为 new_text。

15. 使用变量

在脚本中使用变量时,可以使用双引号而不是单引号。

var="new_text"
sed "s/old_text/$var/g" filename

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接