通过20个实例掌握LinuxSed命令
SED 命令或 流编辑器是 Linux / Unix 系统提供的非常强大的实用程序。它主要用于文本替换,查找和替换,但也可以执行其他文本操作,例如 插入,删除,搜索 等。使用 SED,我们可以编辑完整的文件而无需打开它。SED 还支持使用正则表达式,这使得 SED 成为更强大的测试操作工具。
基本语法如下:sed OPTIONS… [SCRIPT] [INPUTFILE…]
(1) 显示文件的部分文本
使用 sed,可以只查看文件的一部分,而不是查看整个文件,示例如下:[linuxtechi@localhost ~]$ sed -n 22,29p testfile.txt
本例子,选项 n 将抑制整个文件的打印,选项 p 将只打印 22-29 行(2) 显示除某些行之外的所有行
使用选项 d,显示除 22-29 行之外的所有行[linuxtechi@localhost ~]$ sed 22,29d testfile.txt(3) 显示从第 n 行开始的每 m 行
显示从第 2 行或任何其他行开始的每 3 行内容,使用以下命令[linuxtechi@localhost ~]$ sed -n "2~3p" file.txt(4) 删除一行
其中 N 是行号,选项 d 将删除提到的行号,示例如下:[linuxtechi@localhost ~]$ sed Nd testfile.txt
若要删除文件的最后一行,请使用如下命令:[linuxtechi@localhost ~]$ sed $d testfile.txt(5) 删除一系列行
从 testfile.txt 文件中删除 29-34 行[linuxtechi@localhost ~]$ sed "29,34d" testfile.txt(6) 删除范围以外的行
从 testfile.txt 文件中删除 29-34 之外的行[linuxtechi@localhost ~]$ sed "29,34!d" testfile.txt(7) 添加空白行 / 空格
使用选项 G, 可以在每个非空行之后添加一个空行[linuxtechi@localhost ~]$ sed G testfile.txt(8) 查找和替换(首次替换)
使用 s 选项,将搜索 danger,并将其替换为 saftey,执行首次匹配。[linuxtechi@localhost ~]$ sed "s/danger/safety/" testfile.txt(9) 查找和替换(全局替换)
为了完全替换文件中的所以单词,我们将使用带有 s 的选项 g[linuxtechi@localhost ~]$ sed "s/danger/safety/g" testfile.txt(10) 替换第 n 次出现的字符串模式
还可以在第 n 次出现时替换字符串,比如只有在第二次出现时才用 danger 替换 safety,依然是首次替换模式[linuxtechi@localhost ~]$ sed "s/danger/safety/2" testfile.txt
为了完全替换第 2 次出现的所有单词,我们将使用带有 s 的选项 g,完全替换模式[linuxtechi@localhost ~]$ sed "s/danger/safety/2g" testfile.txt(11) 替换特定行上的字符串
只替换文件第 4 行的字符串[linuxtechi@localhost ~]$ sed "4 s/danger/safety/" testfile.txt
替换文件第 4-9 行的字符串[linuxtechi@localhost ~]$ sed "4,9 s/danger/safety/" testfile.txt(12) 在匹配搜索之后 / 之前添加一行
使用选项 a, 在每个模式匹配之后添加新行[linuxtechi@localhost ~]$ sed "/danger/a "This is new line with text after match"" testfile.txt
使用选项 i, 在每个模式匹配之前添加新行[linuxtechi@localhost ~]$ sed "/danger/i "This is new line with text before match" " testfile.txt(13) 用匹配的模式更改整行
使用 c 选项,当匹配时,正行都会被新内容替换,示例如下:[linuxtechi@localhost ~]$ sed "/danger/c "This will be the new line" " testfile.txt
到目前为止,我们只使用 sed 的简单表达式,现在我们将讨论 sed 与 regex 的一些高级用法(14) 运行多个 sed 命令
如果需要执行多个 sed 表达式,可以使用选项 e 将 sed 命令链接起来[linuxtechi@localhost ~]$ sed -e "s/danger/safety/g" -e "s/hate/love/" testfile.txt(15) 在编辑文件之前进行备份
编辑之前创建文件的备份副本,请使用选项 -i.bak[linuxtechi@localhost ~]$ sed -i.bak -e "s/danger/safety/g" testfile.txt
这将创建扩展名为.bak 的文件的备份副本,你也可以使用其他扩展,例如 -i.backup(16) 删除以模式开头和结尾的文件行
删除以特定字符串开始并以另一个字符串结束的行,示例如下:[linuxtechi@localhost ~]$ sed -e "s/^danger.*stops$//g" testfile.txt(17) 附加行
使用 sed & regex 在每行之前添加一些内容,示例如下:[linuxtechi@localhost ~]$ sed -e "s/.*/testing sed &/" testfile.txt(18) 删除所有注释行和空行
要删除所有注释行,即带有 # 和所有空行的行,使用如下命令[linuxtechi@localhost ~]$ sed -e "s/#.*//;/^$/d" testfile.txt
只删除注释行,使用如下命令:[linuxtechi@localhost ~]$ sed -e "s/#.*//" testfile.txt(19) 从 /etc/passwd 文件获取所有用户名
要获取 /etc/passwd 文件的所有用户名列表,使用如下命令:[linuxtechi@localhost ~]$ sed "s/([^:]*).*/1/" /etc/passwd(20) 防止覆盖系统链接
sed -i 命令已经被用来删除系统链接,并只创建常规文件来代替链接文件。因此,为了避免这种情况并防止 sed -i 破坏链接,请在执行命令时使用 follow-symklinks 选项。
假设我们想在 CentOS 或 RHEL 服务器上禁用 SELinux[linuxtechi@localhost ~]# sed -i --follow-symlinks "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/sysconfig/selinux 我的开源项目
course-tencent-cloud(酷瓜云课堂 - gitee 仓库)course-tencent-cloud(酷瓜云课堂 - github 仓库)
360立大功,老美顶级网络工具曝光,名叫量子攻击系统还记得著名的熊猫烧香吗?短短两个月便感染百万数量级电脑,一时间让无数网民闻之色变的超级病毒。经历过那个年代的人,想必都印象深刻,这些人现在应该也有一些疑问,曾经那些让人闻风丧胆的网
电脑摄像头被黑客控制怎么办?有这5点可以来避免你会在电脑上把摄像头用胶布给贴住吗?现在的隐私问题是越来越被人们所重视。特别是一些有摄像头的设备更是被广泛关注。比如笔记本电脑。经常会看到一些人用胶带把摄像头给遮挡起来。而且用的还
为什么win10重装系统之后开机很快,用一段时间就会变慢?Windows10系统是目前PC端市场占有率最高的一款桌面操作系统。在使用Windows10系统的时候许多人都有这样的体验,系统每次重新安装之后开机都很快,但是使用一段时间之后又会
媒体爆料腾讯员工人均月薪7万,多位打工人表示参差不齐23日,电商报官微发布的一则截图引发了网友的广泛讨论,官微称腾讯2021年度总酬金为955。23亿元,截止2021年12月31日,腾讯有112771名员工。据此推算,腾讯员工人均月
多品牌方便面宣布涨价,江城终端市场涨价或在月底极目新闻记者石倩继老干妈宣布提价后,多个方便面品牌也要集体涨价了!近日,方便面品牌日清宣布涨价,之后康师傅统一等品牌也相继传出涨价消息。3月21日,极目新闻记者探访武汉市场了解到,
我用这种错误把尿,毁了娃排尿系统,新手爸妈别再无知了作者探长(共1879字,阅读约4分钟)家长们总是要照顾孩子的吃喝拉撒睡,而怎么样能照顾的更好,也会存在很多的细节问题,因此,衍生出来了许多让家长很争议的话题。很多医生都有建议过,家
中兴胜诉!国产操作系统宣布免费使用今天,中兴胜诉!结束其2017年开始的五年合规观察期。不仅仅是这个好消息,好消息陆续有来。据中兴新支点官网报道称,新支点操作系统最近进行了一次版本更新,此次的更新进一步的提升了系统
人有德,必有福有人说人之靓丽,并非容颜,而是内心。心存善念,非靓也美,非富也贵。所谓有德自然香,说的就是那些注重品德,待人宽厚的良善之人,无论走到哪里都会受人尊敬爱护,深受欢迎敬重,不怒自威,那
夜读那时桃花主播读经典,陪您说晚安,大家好,这里是闪电夜读,我是莘县融媒主播西斌。今晚与大家分享那时桃花。天气转暖,春风拂过村庄,一夜之间,枝头就有了春的气色。人们的脸上也多了些许春色,是暖的
心情不好的时候,想想这三句话佛家有云物随心转,境由心造。不如意事常八九,坏情绪人人都会有,但任由烦恼堆积成山,只会身心俱伤。我们阻挡不了事情的发生,却能够改变自己的心情,把负面影响降到最低。当你心情不好的时候
春天牛奶靠边站,这5种蔬菜钙含量高,每天一种,孩子喜欢长个快春天,牛奶鸡蛋靠边站,补钙就吃这5种菜!孩子爱吃,个子长得快春暖花开,万物复苏,春季是一个令人心旷神怡的季节,可是春季的气候却不怎么友好,老话说春天孩儿脸,一天变三变,这样的天气,