sed的工作原理在于逐行处理文本文件。首先,sed会将当前处理的行存储在一个称为模式空间的临时缓冲区中,然后使用指定的sed命令对缓冲区的内容进行操作。处理完毕后,sed会将处理后的内容输出到屏幕上。接着,sed会读取下一行并重复上述过程,直到文件末尾。
sed的基本语法如下:
sed [选项参数] 'command' filename
常用的选项参数及其功能如下:
| 选项参数 | 功能 |
|---|---|
| -e | 当需要使用多个sed指令时,必须使用-e选项。 |
| -i | 直接对文件内容进行修改,不使用-i选项时,sed默认只会预览处理结果,不会实际修改文件。 |
| -f | 后面跟随包含sed指令的文件。 |
| -n | 取消默认输出。sed默认会输出所有文本内容,使用-n参数后,仅显示经过处理的行。 |
| -r | 使用扩展正则表达式。默认情况下,sed只识别基本正则表达式。 |
sed的程序命令包括增删改查等操作,具体内容请参考以下图片:

替换操作的语法如下:
s/xx/yy/g s/xx/yy/
其中,+g表示全局替换,即在每一行中从行首到行尾替换所有匹配的字符;不加g时,sed会从每一行的行首开始匹配,找到第一个符合条件的字段后就结束,跳到下一行。
使用多个sed命令的示例:
sed -e '1d' -e 's/acc/xyz/g' sed.txt
上述命令会删除sed.txt文件的第一行,并将文件中的acc替换为xyz。
以下是sed常用操作的案例:

以上就是linux文本处理三剑客之sed增删改查的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号