sed 利用脚本处理文件:
sed 是一个强大的非交互式的流编辑器,它能在命令行下对文本文件进行编辑。
基本语法结构:
sed [选项] '命令' 文件名
常用选项:
- -n :只显示经过 sed 处理后被修改的行。
- -e :可以同时执行多个编辑命令。
编辑命令示例:
1. 替换操作:
- s/旧字符串/新字符串/ :将每行中首次出现的旧字符串替换为新字符串。
- s/旧字符串/新字符串/g :将每行中所有的旧字符串替换为新字符串。
- 例如: sed '/apple/orange/g' file.txt 会将文件 file.txt 中所有的 apple 替换为 orange 。
2. 插入和附加操作:
- i\ :在指定行之前插入文本。
- a\ :在指定行之后附加文本。
- 例如: sed '2i\This is an inserted line' file.txt 会在文件的第 2 行之前插入指定文本。
3. 删除操作:
- d :删除指定的行。
- 例如: sed '3d' file.txt 会删除文件的第 3 行。
地址匹配:
可以使用行号、正则表达式等来指定要操作的行。
1. 行号:如 1 表示第 1 行, 1,5 表示第 1 行到第 5 行。
2. 正则表达式:例如 /^pattern/ 表示匹配以 pattern 开头的行。
多行处理:
sed 还可以处理多行文本。通过 N 命令将下一行读入模式空间,然后进行操作。
脚本文件:
可以将一系列的 sed 命令写入一个脚本文件,然后通过 -f 选项来执行该脚本。例如,创建一个名为 script.sed 的文件,内容如下:
s/old/new/g
/line/d
然后使用 sed -f script.sed file.txt 来处理文件。
标签:脚本,文件,文本,sed,file,字符串,txt From: https://blog.csdn.net/zhugedali_/article/details/140735836