- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
linux入门笔记30
SED
sed是一种新型的流编辑器。相当于grep和vi的组合,既能找到相关信息,同时也能根据需要修改信息;
这个同样不会对源文件进行任何改动,除非你使用特定的选项来说明;
原理:
将源文件调入内存,然后,根据sed提供的正则表达式进行相应的判度,然后,将结果输出到终端;
同样也是以行为单位的输入,以行为单位的输出;
sed基本命令格式:
sed -选项 /正则表达式/命令 文件列表
sed /root/p /etc/passwd
注意:sed默认会将输入原样输出,除非明确指定不输出不符合要求的输出;
sed选项:
-n 关闭默认输出
-e 指定执行动作
-f 指定sed脚本的名字
-i 实现对源文件的实时修改
-i.bak
sed -i.bak 1d num.txt
ls num.txt.bak
sed命令: 除了-i 不改变源文件
p 打印命令:将匹配的行,打印一次
# sed -n /north/pdatafile 只打印出匹配行
# sed /north/p datafile 匹配行输出两次
d 删除命令:将匹配的行,删除掉只对源文件来说
#sed 1d datafile
删除第一行
定址:
删除第一行和第三行
# sed -e 1d -e3d datafile
# sed 1d;3d datafile
; 表示命令的分割
删除第一行到第三行
#sed 1,3ddatafile
从第五行删除到最后一行
#sed 5,$ddatafile
删除所有包含关键字的行:
# sed /north/ddatafile
s 替换命令
# seds/west/north/ datafile
# seds/west/north/g datafile
表示一行当中,存在多个匹配项,那么全部置换
# sed -ns/\([[:space:]][1-9][0-9]\)/\1.5/gp datafile
# sed -ns/\([^.][1-9][0-9]\)/\1.5/gp datafile
# sed -ns/[1-9][0-9]$/.5/gp datafile
表示前面的匹配内容
在每一行的末尾加上一个.5
#sed s/$/.5/datafile
# seds/.*/.5/g datafile
每一行的行首添加一个*
#sed s/^/*/datafile
date +%y/%m/%d|sed s/\//:/g # date+%y/%m/%d |sed s#/#:#g
s命令的分割符号/ ,可以替换成其他任意字符
r 读文件命令
将另外一个文本文件的内容读进来
sed /north/r/tmp/number datafile
sed /north/R/tmp/number datafil
每次读入文本文件的一行,就是说第一次的匹配的时候,读入文本的第一行,第二次匹配的时候,输入文本的第二行。。以此类推
w 写文件命令
将匹配的行,输出到另外一个文件里面去
# sed -n/north/w /tmp/newdata datafile
a 追加命令
# sed /Suan/a \
Suan has retired. \
She will go backlater. \
see her later datafile
i 插入命令
#sed /Suan/i 1234567 datafile
在匹配行的上面插入字符串
c 修改命令
# sed /Suan/c Suan has retired.datafile
将匹配行,全部替换成你的输入文本;
n 直接对匹配下一行操作
# sed -n /Suan/{n;p} datafile
y 转换命令
tr # sed 1,3y/abcdefg/ABCDEFG/ datafile 第一行第三行大小写替换
q 退出命令遇到匹配条件,sed退出
#sed /Suan/qdatafile
sed的两种内存空间
PATT 模式空间
HOLD 保留空间
都是sed的内存空间:
PATT是sed用来对输入行进行编辑,处理的内存空间
HOLD是sed用来保存已经处理过的输入行的空间
注意:HOLD空间里默认存在一个空行
h 将PATT空间里的内容,复制到HOLD空间,会取代原来HOLD空间里的内容
H 将PATT空间里的内容,追加到HOLD空间,原来的内容依然保留
g 将HOLD空间的内容,取回到PATT空间,取代原来PATT空间的内容
G 将HOLD空间的内容,追加到PATT空间,原来的内容依然保留
x 将HOLD空间和PATT空间的内容,交换
cat num.txt
1111111111111111111
222222222222222
333333333333333
将第一行的内容,复制到第三行:
您可能关注的文档
- 材料格式的统一说明.doc
- 选择合理的爆破参数提高井筒硬岩施工爆破效果.doc
- 11年12月版四级听力重点场景词语集合.doc
- 2009年福建省质检解析几何题的高数背景探究.doc.doc
- AutoCAD使用技巧汇编.doc
- 2009—2010班委会工作总结第一学期.doc
- 几种常见施工方法.doc
- 宜宾市三中高一下期第一次月考数学模拟题.doc
- 2011投融部目标考核.doc
- GSM各种过程流程详解.doc
- 《JJF 2132-2024荧光紫外灯人工气候老化试验装置校准规范:辐射照度参数》.pdf
- JJF 2120-2024轮速传感器校准规范.pdf
- 计量规程规范 JJF 2120-2024轮速传感器校准规范.pdf
- 《JJF 2129-2024钙钛矿太阳电池校准规范:光电性能参数》.pdf
- JJF 2129-2024钙钛矿太阳电池校准规范:光电性能参数.pdf
- 《JJF 2120-2024轮速传感器校准规范》.pdf
- JJF 2117-2024沥青混合料理论最大相对密度仪校准规范.pdf
- JJF 2116-2024特定蛋白分析仪校准规范.pdf
- 《JJF 2116-2024特定蛋白分析仪校准规范》.pdf
- 计量规程规范 JJF 2117-2024沥青混合料理论最大相对密度仪校准规范.pdf
文档评论(0)