linux-sed

简介:

文本处理工具

grep

sed(流编辑器)

awk(报告文本生成器)



sed基本用法

默认不编辑原文件,仅对模式空间中的数据处理。

sed:Stream EDitor 


sed [options]'AddressCommand' file ...

-n 静默模式   不显示模式空间中的内容

-i 修改原文件

-e script -e script:可以同时指定多个脚步

-f :指定一个脚本文件

-r:表示使用扩展正则表达式

Address

1.StartLine,EndLine

比如1,100

2./RegExp/

/^root/

3./pattern1/,/pattern2/

第一次被pattern1匹配到和行开始,至第一次被pattern2匹配到结束

4.LineNumber

指定的行

$表示最后一行

5.StartyLine,+N

从startline开始,向后的N行


Command:

d:删除符合条件的行

sed '1,5d' /etc/fstab 

sed '/oot/d' /etc/fstab

sed '1,+2d' /etc/fstab

sed '/^\//d' /etc/fstab   用^锚定行首的/ 需要加\转义

p:显示符合条件的行

a \string:在指定的行后面追加新行。内容为String

sed '/^\//a \#hello world\n#helo,linux' /etc/fstab

i \string:在指定的行前面追加新行。内容为String

r file:将指定的文件的内容添加至符合条件的行处

sed '2r /etc/issue' /etc/fstab

sed '$r /etc/issue' /etc/fstab  最后一行添加

w file :将指定范围内的内容另存至指定的文件中

sed '/oot/w /tmp/oot.txt' /etc/fstab 

s/pattern/string/修饰符:查找并替换  ,默认只替换每行中第一次被模式匹配到的字符串

加修饰符

g:表示全局替换

i:忽略字符大小写

sed 's/^\//#/' /etc/fstab   行首的/替换为# 

sed 's/\//#/g' /etc/fstab  全部/替换为#

sed 's@/@#@g' /etc/fstab    /分隔符可以用@等其他字符作为分隔符

 

$引用模式匹配到的字符串

 

history | sed 's#^[[:space:]]*##g' | cut -d' ' -f1

 

echo "/etc/rc.d" | sed -r 's@^(/.*/)[^/]+/?@\1@g' 一个文件的父目录

 





     本文转自阿伦艾弗森 51CTO博客,原文链接:http://blog.51cto.com/perper/1947282,如需转载请自行联系原作者


相关文章
|
7月前
|
Linux Perl
一个神奇的Linux命令-sed
一个神奇的Linux命令-sed
35 1
|
7月前
|
存储 监控 Linux
性能工具之linux三剑客awk、grep、sed详解
Linux 三剑客 awk,sed和grep 在性能领域广泛用于性能建模、性能监控及性能分析等方面,也是各大互联网公司测试岗高频面试题,中高端测试人员必备技能之一。
165 1
性能工具之linux三剑客awk、grep、sed详解
|
4月前
|
Linux Perl
在Linux中,如何使用请用 cut 或者 awk,sed命令取出 linux 中 eth0 的 IP 地址?
在Linux中,如何使用请用 cut 或者 awk,sed命令取出 linux 中 eth0 的 IP 地址?
|
3月前
|
机器学习/深度学习 Linux Perl
Linux文本处理三剑客之sed详解
这篇博客详细讲解了Linux中的文本处理工具sed的使用方法和常用命令。
247 9
Linux文本处理三剑客之sed详解
|
3月前
|
Linux Perl
Linux之sed命令
Linux之sed命令
|
3月前
|
人工智能 监控 Shell
常用的 55 个 Linux Shell 脚本(包括基础案例、文件操作、实用工具、图形化、sed、gawk)
这篇文章提供了55个常用的Linux Shell脚本实例,涵盖基础案例、文件操作、实用工具、图形化界面及sed、gawk的使用。
778 2
|
3月前
|
Linux Perl
6-20|linux sed命令
6-20|linux sed命令
|
4月前
|
Linux Shell Perl
在Linux中,如何使用sed命令进行文本替换?
在Linux中,如何使用sed命令进行文本替换?
|
4月前
|
数据挖掘 Linux Perl
在Linux中,awk和sed命令的作用?
在Linux中,awk和sed命令的作用?
|
4月前
|
Linux BI 数据处理
在Linux中,如何使用awk和sed进行文本处理?
在Linux中,如何使用awk和sed进行文本处理?