
Linux系统是开源的,而且有很多好用的工具。其中SED是非常实用的一个工具。虽然SED的语法看起来比较复杂,但其实只要掌握了一些技巧,老男孩也能轻松搞定。
什么是SED?
SED是一种文本流编辑器,它可以在输入流中进行文本查找和替换等操作。SED是一种很常用的Linux命令,可以用于各种文本处理。它的基本作用就是读取一个文件流,对其中的文本进行过滤、查找、替换等操作。SED可以用来完成很多复杂的文本处理任务,比如批量修改文件名、批量替换字符串等。通过上手使用,可以有效提高工作效率。
SED基本语法
SED最基本的用法是在命令行中使用。SED命令的语法格式为:sed [option] ‘[script]’ [filename],其中option是SED命令的选项,script是SED脚本,filename是要处理的文件名。
SED命令选项:
-n:禁止默认输出
-r:启用正则表达式
-i:修改文件内容
-e:支持多个编辑指令
-f:从文件中读取编辑指令
SED脚本语法:
[address1],[address2] command:范围匹配
[address] !command:单行否定匹配
[address] command1;command2:多命令组合
SED常用技巧
1. 删除文件中特定行
有时候我们需要删除文件中特定行,比如要删除文件中的第5行,可以使用如下命令:
$ sed ‘5d’ file
其中5d指的是删除文件file的第5行。
若要同时删除文件file的第5行到第10行,则可以使用如下命令:
$ sed ‘5,10d’ file
2. 文件中替换文本
想要批量替换文件中的某些文本,可以使用如下命令:
$ sed ‘s/old/new/’ file
其中old表示原来的文本,new表示要替换的文本。
3. 删除空白行
若要删除文件中的所有空白行可以使用如下命令:
$ sed ‘/^$/d’ file
其中^$表示匹配空白行,d表示删除。
4. 批量更改文件名
有时候我们需要批量更改文件名,比如将所有文件名中的.txt都修改为.php,可以使用如下命令:
$ ls *$txt | sed ‘s/\(.*\)\.txt/mv & \1.php/’ | sh
5. 查找操作
若要在文件中查找某一文本,可以使用如下命令:
$ sed -n ‘/pattern/p’ file
其中pattern是要查找的文本。
SED命令的应用范围非常广泛,比如查找替换、删除文件中的特定行、调整字符行的位置等。只要掌握了SED的语法以及一些基本技巧,便可以轻松应对各种需求。希望这篇文章可以帮助大家更好地掌握SED技巧,提高工作效率。
相关问题拓展阅读:
- linux之文本内容替换命令sed
linux之文本内容替换命令sed
sed简介:流编辑工具,用来对文本进行过滤与替换操作。
sed流程:sed通过一次仅读取一行内容来对某些指令进行处理后输出。
1、sed通过文件或管道读取文件内容,但sed默认并不直接修改源文件,而是将读入的内容复制到缓冲区中,称之为模式空间。
2、所有的指令操作都是孝判在模式空间找那个进行
3、sed根据相应的指令对模式空间中的内容进行处理并输出结果,默认输出至标准输出(即屏幕上)。
sed基本语法格式:
用法:sed…{脚本指令}…
选项: -version 显示sed版本
-help :显示帮助文档
-n,-quiet,-silent静默输出,默认情况下,sed程序在所有的脚本指令执行完毕后,将自动打印模式空间中的内容。
-e script允许多个脚本指令被执行
-f script-file从文件中读取脚本指令,对编写自动化脚本程序很实用
-i ,-in-place 该选项直接修改源文件
-l N 该选项指定l指令可以输出的行长度,l指令为输出非打印字符。
-posix 禁用GNU sed扩展功能。
-r 在脚本指令辩察中使用扩展正则表达式。
-s,-separate 默认情况下,sed将把输入的多个文件名作为一个长的连续的输入流。而GNU sed则允许把它们当作单独的文件。
-u,-unbuffered 更低限度的缓存输入与输出
a,append表示追加指令;
i,insert表示插入指令;
d,delete表示删除指令;
s,substitution表示替换指令。
sed脚本指令的基本格式是:
命令(有些命令仅可以对一行操作,有些可以对多行操作),命令也可以用花括号进行组合,使命令序列可以作用于同一个地址。
address{
command1
command2
command3
}
sed的基本工作方式是:
sed的替换命令s:
1、全局替换 : s/old/new/g ,其中g为全局替换,用于替换所有出现的次数; /如果和正则匹配的内容冲突可以使用其他符号,如 : s@old@new@g
2、标志位
为什么要有多行模式: 配置文件一般有单行出现,但也有使用json或XML格式的配置文件,为多行出现。
关于linux sed 老男孩的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
香港服务器首选树叶云,2H2G首月10元开通。
树叶云(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/217163.html<