简单操作
删除文件内以#开头的行
sed -i '/^#/d' file.txt
删除空白行和#开头的行
# 分号分隔
sed -i '/^#/d; /^\s*$/d' file.txt
From Kimi
sed(Stream Editor)是一种流编辑器,主要用于对文本文件进行快速、高效的编辑操作。它通过读取输入流(可以是文件或标准输入),按照指定的命令对文本进行处理,并将结果输出到标准输出(屏幕)或指定的文件中。以下是 sed 的主要作用和功能:
1. 文本替换
功能:sed 可以将文本中的某些内容替换为其他内容。
示例:
sed 's/old/new/' file.txt
这条命令会将文件 file.txt 中的每个 old 替换为 new,并输出到屏幕。如果需要直接修改文件,可以加上 -i 参数:
sed -i 's/old/new/' file.txt
2. 文本删除
功能:sed 可以删除文本中的某些行或内容。
示例:
sed '/pattern/d' file.txt
这条命令会删除文件 file.txt 中所有包含 pattern 的行。
3. 文本插入和追加
功能:sed 可以在文本的特定位置插入或追加内容。
示例:
在匹配到的行之前插入内容:
sed '/pattern/i\This is inserted before the matching line' file.txt
在匹配到的行之后追加内容:
sed '/pattern/a\This is appended after the matching line' file.txt
- 文本转换
功能:sed 可以对文本字符进行转换,例如将大写字母转换为小写字母。
示例:
sed 'y/ABCDEF/abcdef/' file.txt
这条命令会将文件 file.txt 中的所有大写字母 A-F 转换为小写字母 a-f。
5. 文本提取
功能:sed 可以提取文本中的特定部分。
示例:
sed -n '2p' file.txt
这条命令会提取文件 file.txt 的第 2 行并输出。
6. 文本格式化
功能:sed 可以对文本进行格式化,例如删除多余的空格或换行符。
示例:
sed 's/^[ \t]*//' file.txt
这条命令会删除文件 file.txt 中每行开头的空格和制表符。
7. 多行操作
功能:sed 可以对多行文本进行操作,例如将多行合并为一行。
示例:
sed ':a;N;$!ba;s/\n/ /g' file.txt
这条命令会将文件 file.txt 中的所有行合并为一行,用空格替换换行符。
8. 模式匹配
功能:sed 支持正则表达式,可以对复杂的文本模式进行匹配和处理。
示例:
sed '/^#/d' file.txt
这条命令会删除文件 file.txt 中所有以 # 开头的行。
总结
sed 是一个功能强大的文本处理工具,适用于自动化脚本和批量处理文本文件。它通过简单的命令语法,可以实现复杂的文本编辑操作,是系统管理员和开发人员常用的工具之一。
浙公网安备 33010602011771号