没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
3页
一、概述 sed是一种流编辑器,与交互式编辑器不同,流式编辑器会在处理数据之前基于预先提供的一组规则来编辑数据流。 sed可以从标准输入(stdin)获取输入,处理结果从标准输出(stdout)输出。sed会一行一行地读入输入,然后按照预设命令对每行数据进行操作,若输入的是一个文件的内容,sed不会在源文件上修改,而只是在标准输出打印结果。 二、用法初涉 1、替换操作 echo hello world | sed 's/hello/HELLO/' 结果:hello world会被替换为HELLO world并从标准输出输出,命令‘s’是替换的意思。 2、多命令操作 使用分号隔开多命令 e
资源推荐
资源详情
资源评论
linux shell学习之学习之 sed(基本用法)(基本用法)
一、概述
sed是一种流编辑器,与交互式编辑器不同,流式编辑器会在处理数据之前基于预先提供的一组规则来编辑数据流。
sed可以从标准输入(stdin)获取输入,处理结果从标准输出(stdout)输出。sed会一行一行地读入输入,然后按照预设命令对每
行数据进行操作,若输入的是一个文件的内容,sed不会在源文件上修改,而只是在标准输出打印结果。
二、用法初涉
1、替换操作
echo "hello world" | sed 's/hello/HELLO/'
结果:hello world会被替换为HELLO world并从标准输出输出,命令‘s’是替换的意思。
2、多命令操作
使用分号隔开多命令
echo "hello world" | sed 's/hello/HELLO/;s/world/WORLD/'
或者直接换行,每行一个命令
echo "hello world" | sed '
>s/hello/HELLO/
>s/world/WORLD/'
两种操作的结果都是把hello world替换为HELLO WORLD。(我看的参考书里面说多命令要加上-e选项,但我没有加也可以完
成操作。)
3、将命令存储在文件中
若有很多的命令,可以预先将命令存放在文件中,每行一个操作命令,在sed中使用-f选项指定从该文件中读取命令即可。
比如cmd.sed文件中存放以下命令
s/hello/HELLO/
s/world/WORLD/
则echo 'hello world' | sed -f cmd.sed
可完成替换功能。
三、基本操作
1、更多的替换选项
echo "hello hello " | sed 's/hello/HELLO/'
结果:
HELLO hello
该条命令的结果是HELLO hello,sed并没有将所有的小写hello替换为大写HELLO。
echo "hello hello" | sed 's/hello/HELLO/2'
结果:
hello HELLO
加上2会将第二个hello替换为HELLO。
echo "hello hello" | sed 's/hello/HELLO/g'
结果:
HELLO HELLO
g选项会将所有的hello替换为HELLO
echo "hello hello" | sed 's/hello/HELLO/w result.txt'
w选项会让被修改的行被写入到result.txt文件中。
2、地址定位
假设有文件hello.txt,其内容如下:
hello hello
hello hello
hello hello
hello hello
this is a test text file
(1)使用数字定位
例
sed '2s/hello/HELLO/g' hello.txt
结果:
weixin_38524139
- 粉丝: 6
- 资源: 916
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页