java写文件是调用sed吗_sed的应用

sed的应用

一、sed命令(流编辑器)

sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。

sed [-n] 'AddressCommand' file ..

-n 不打印;sed不写编辑行到标准输出,缺省为打印所有行(编辑和未编辑)。p命令可以用来打印编辑行。

-f 如果正在调用sed脚本文件,使用此选项。此选项通知sed一个脚本文件支持所有的sed命令.

例如:sed -f myscript.sed input_file,这里myscript . sed即为支持sed命令的文件。

-c 下一命令是编辑命令。使用多项编辑时加入此选项。如果只用到一条sed命令,此选项无用,但指定它也没有关系。

-i 编辑原文件(此选项慎用,如果使用则原文件就会被修改,无法恢复)。

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

sed由Adress和Command组成

二、Address(用于指定处理数)

1、指定行数量

如:sed -n “1,4p” /etc/passwd 1到4行显示

2、指定的某一行

如:

开头:sed -n “1” /etc/passwd

结尾:sed -n “$p” /etc/passwd

3、开始行,+N

显示从开始行,向后的N行

如:

sed -n “1,+2p” /etc/passwd 显示第1行的后2行

4、/模式(正则表达式)/:用来过滤特定的行

如:sed -n “/^root/p” /etc/passwd

5、/模式1/,/模式2/

第一次被模式1匹配到的行开始,到第一次被模式2匹配到的行结束,这中间的所有行。

如:sed -n “/\/bin\/bash$/p” /etc/passwd

三、Command

p:显示符合条件的行;

d:删除符合条件的行;

a \string :在符合条件的行后面添加;

\n:用于换行

i \string : 在指定的行前面添加新行,内容为string

r FILE : 将指定的文件的所有内容添加到符合条件行处

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

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

g:全局替换

i:忽略字符大小写

如;sed “s/\//#/g” /etc/fstab 把所有的/替换成#号

s///:可以不用/来作为分隔,可以是s***,s###

如:sed “s*\/*#*g” /etc/fstab

例子:如有一文件a内容为: hello like

haw a you ,love

自身引用(为串加上字符):

使用&:引用模式匹配的整个串

l..e : like —>liker

love —>lover

语句:sed “s#l..e#&r#g” a

后项引用(修改串):

l..e : like –>Like

love –> Love

语句:sed “s#l(..e)#L\1#g” a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值