这篇文章主要讲解了“linux中sed命令的使用方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux中sed命令的使用方法有哪些”吧!linux之sed命令:1 初识sedse
这篇文章主要讲解了“linux中sed命令的使用方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux中sed命令的使用方法有哪些”吧!
linux之sed命令:
1 初识sed
sed编辑器被称作流编辑器,它和vim这种的交互式文本编辑器不同,是根据命令来处理数据流中的数据。会执行下列操作:
一次从输入中读取一行数据(重复该操作直到全部行被读取完)
根据编辑器命令匹配数据
按照命令修改数据流中的数据
将新数据输出到STDOUT(标准输出)
其中sed命令的可以从命令行中输入,也可以从一个命令文件中读取。
sed -e script 添加script中指定的命令sed -f file 添加file中指定的命令
1 在命令行定义sed命令
来看一个简单的文本替换示例:
echo "hi,my name is xxx" | sed 's/xxx/kinsomy/'#修改文件sed 's/xxx/kinsomy/' data.txt#执行多个命令 用-e选项,分号隔开sed 's/xxx/kinsomy/; shhh/' data.txt
将echo输出的数据通过管道输入sed中,然后用s命令进行替换,用第二个斜杠后的数据替换掉第一个斜杠后匹配的数据。
注意:sed操作文本文件中的数据,仅仅是将修改的数据输出到STDOUT,但是并不会修改文件本身的数据
2 从文件读取命令
在一个文件script.sed中定义一系列的命令,方便复用。
s' data.txt# 操作一定行区间[2,4]$ sed '2,4s/xxx' data.txt# 操作某行开始到最后[2,endline]$ sed '2,$s/xxx' data.txt
文本模式过滤器
首先在/etc/passwd内找到kinsomy的记录,然后将bash替换为csh。文本模式过滤器配合正则表达式会很强大。
sed '/kinsomy/s/bash/csh/' /etc/passwd
4 删除行
使用删除命令d对文本进行删除操作。
# 删除所有文本sed 'd' data.txt# 删除单行sed '2d' data.txt# 删除行区间[2,3]sed '2,3D' data.txt# 删除行区间[2,endline]sed '2,$d' data.txt# 删除匹配文本aa的行sed '/aa/d' data.txt# 删除两个匹配文本之间的文本 匹配到1和3的行之间的文本全部被删除sed '/1/,/3/d' data.txt
5 插入、附加文本
插入命令i在指定行前增加新行
附加命令a在指定行后增加新行
# 追加echo "Line 2" | sed 'a\pipe quote> Line 1'#插入echo "Line 2" | sed 'i\pipe quote> Line 1'
6 修改行
c命令用来修改一行数据
# 修改第三行文本sed '3c\pipe quote> change line ' data.txt
7 转换命令
命令格式 sed 'y/inchar/outchar'
将inchar中的字符一一对应地转换成outchar的字符
echo "This 1 is a test of 1 try." | sed 'y/123/456/'# 输出This 4 is a test of 4 try.
感谢各位的阅读,以上就是“linux中sed命令的使用方法有哪些”的内容了,经过本文的学习后,相信大家对linux中sed命令的使用方法有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!
--结束END--
本文标题: linux中sed命令的使用方法有哪些
本文链接: https://www.lsjlt.com/news/305606.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0