Sed(Stream Editor)是一个流编辑器,用于文本转换。它可以从标准输入、文件或管道中读取文本,并将其输出到标准输出。Sed主要用于文件处理、文本替换、数据处理和格式化等方面。在本文中,我们将介绍 Sed 命令的一些常见用法和示例。
用 Sed 命令打印文件内容
sed -n "p" filename
上述命令将打印 filename 文件的每一行。其中,-n 参数表示不输出任何未经编辑的文本行,p 表示打印当前行。
使用 Sed 命令进行文本替换
sed "s/pattern/replace/g" filename
上述命令将 filename 文件中所有匹配 pattern 的字符串替换为 replace。其中,g 表示全局替换。
【资料图】
用 Sed 命令删除文件中的某些行
sed "/pattern/d" filename
上述命令将删除 filename 文件中所有包含 pattern 的行。
用 Sed 命令在文件中添加行
sed "1i This is the first line." filename
上述命令将在 filename 文件的第一行之前添加一行文本 This is the first line。
用 Sed 命令将多行文本合并成一行
sed ":a;N;$!ba;s/\n/ /g" filename
上述命令将 filename 文件中的多行文本合并为一行。其中,:a、N、$!ba 用于将多行文本合并为一行,s/\n/ /g 用于将换行符替换为空格。
使用 Sed 命令将文本截取为指定长度
sed "s/\(.\{10\}\).*/\1/" filename
上述命令将 filename 文件中的每一行截取为 10 个字符,即只保留每行的前 10 个字符。
用 Sed 命令将文本转换为大写或小写
sed "y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/" filenamesed "y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/" filename
上述命令分别将 filename 文件中的文本转换为大写和小写。
使用 Sed 命令进行多行文本匹配和替换
sed "/start/,/end/ s/pattern/replace/g" filename
上述命令将 filename 文件中从 start 到 end 之间的所有行中匹配 pattern 的字符串替换为 replace。
用 Sed 命令从文件中提取特定行
sed -n "3p" filename
上述命令将从 filename 文件中提取第三行的文本。
使用 Sed 命令将文本中的空格删除
sed "s/ //g" filename
上述命令将 filename文件中的所有空格都删除。其中,g 表示全局替换。
用 Sed 命令删除文件中的空白行
sed "/^\s*$/d" filename
上述命令将删除 filename 文件中所有空白行。其中,^\s*$ 表示空白行。
使用 Sed 命令将文本文件按字母顺序排序
sed -e "s/^[[:space:]]*//" -e "s/[[:space:]]*$//" filename | sed "s/ /\n/g" | sort | sed "/^$/d"
上述命令将 filename 文件中的所有单词按字母顺序排序。其中,-e "s/^[[:space:]]//" -e "s/[[:space:]]$//" 用于删除每行前后的空格,sed "s/ /\n/g" 用于将单词分开成多行,sort 用于排序,sed "/^$/d" 用于删除空行。
用 Sed 命令删除文件中的重复行
sed -n "G; s/\n/&&/; /^\([ -~]*\n\).*\n\1/d; s/\n//; h; P" filename
上述命令将删除 filename 文件中的所有重复行。
用 Sed 命令删除 HTML 标签
sed "s/<[^>]*>//g" filename
上述命令将删除 filename 文件中所有 HTML 标签。其中,<[^>]*> 表示匹配 HTML 标签。
使用 Sed 命令在文件中插入多行文本
sed -i "/pattern/r filename" file
上述命令将在 file 文件中包含 pattern 的行后插入 filename 文件中的文本。

- 开曼群岛属于哪个洲?开曼群岛是一个国家吗?开曼群岛属于北美洲。开曼群岛是英国在美洲西加勒比群岛的一...
- 狼的精神是什么?《狼道》金句有哪些?狼的精神经典十六字是如下:一、发愤图强:狼不会为了庄严,...
- 世界上最大的内陆国?世界上最小的内陆国?所谓的内陆国,又称陆锁国,指的是没有海岸线的国家,亦即被...
- 大贝尔桥是哪个国家的?布鲁塞尔是哪个国家的城市?1、大贝尔特桥位于丹麦;2、大贝尔特桥是一座连接丹麦西兰岛和...
- 我国第一艘航母是用什么省的名称命名的?我国第一艘蒸汽机轮船是什么号?我国第一艘航母是用辽宁省的名称命名的。为辽宁舰,舷号16,...
- atr是什么意思?ATR指标在股票里怎么用?
2023-04-17 17:00:07
- 信托产品收益率是多少?信托为什么收益那么高?
2023-04-13 14:35:27
- 什么是股票发行市场?发行市场和交易市场的区别?
2023-04-10 14:53:09
- 深市新股首日涨停规则?新股的涨幅为何是44%?
2023-03-20 14:21:02
- 北向资金从哪里看?北向资金看什么指标?
2023-03-10 11:12:33