首页 > 行业数据 >

即时看!linux sed用法大全

时间:2023-04-13 10:45:46

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 文件中的文本。

关键词:
x 广告
共同抗疫!郑州71岁党员志愿者每天爬6栋楼,提醒800多户居民做核酸

1月4日,郑州市新冠肺炎疫情防控指挥部办公室发布通告对部分区域实施管控措施。这是近半年来,新冠疫情第3次造访郑州。截止至1月10日24时,

安阳疫情最新消息|1月11日8时至12日8时安阳市新增本土确诊病例39例,累计123例

安阳疫情最新消息2022年1月11日8时至12日8时安阳市新型冠状病毒肺炎疫情最新情况1月11日8时至12日8时,全市新增本土确诊病例39例(汤阴县38

迅速高效!“河南抗疫互助通道”网上网下联动 获群众点赞

核酸检测24小时了还没查到结果,怎么办?现在高速下站口的管控政策到底是什么样子的?从洛阳老城区自驾走高速回郑州,收费站还劝返吗?苏八

信阳市疫情防控工作视频调度会召开 陈志伟出席会议

1月11日,市疫情防控工作视频调度会召开。代市长陈志伟出席会议并讲话。听取有关疫情防控重点工作和各县区(管理区、开发区)疫情防控工作

全国最新疫情消息:11日新增本土确诊病例166例 天津市今日启动第二轮全员核酸检测

11日0—24时,31个省(自治区、直辖市)和新疆生产建设兵团报告新增新冠肺炎本土确诊病例166例(河南118例,其中安阳市65例、许昌市41例、

1月12日天津市放假半天 开启第二轮全员核酸检测

1月12日,天津市人民政府发布重要通告,为做好天津市第二轮全员核酸检测工作,全市机关和企事业单位于1月12日(星期三)下午放假半天。广大

x 广告

Copyright ©  2015-2022 东方评测网版权所有  备案号:沪ICP备2020036824号-8   联系邮箱:562 66 29@qq.com