博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
11.23 复习 扩展 1
阅读量:6213 次
发布时间:2019-06-21

本文共 715 字,大约阅读时间需要 2 分钟。

hot3.png

打印某行到某行之间的内容

例如:有个文件test的内容如下:

ert
fff
**
[abcfd]
123
324
444
[rty]
**
fgfgf
怎么能截取以下这部分出来呢?
[abcfd]
123
324
444
[rty]
答案:   sed -n '/\[abcfd\]/,/\[rty\]/p' test 

sed 转换大小写

sed中,使用\u表示大写,\l表示小写

1. 把每个单词的第一个小写字母变大写:
sed 's/\b[a-z]/\u&/g' filename
2. 把所有小写变大写:
sed 's/[a-z]/\u&/g' filename
3. 大写变小写:
sed 's/[A-Z]/\l&/g' filename

sed 在某一行最后添加一个数字

204243_TXHN_3716831.png

#sed 's/\(^a.*\)/\1 12/' test.txt
204420_xasT_3716831.png

删除某行到最后一行 

[root@test200 ~]# cat test

a
b
c
d
e
f
[root@test200 ~]# sed '/c/{p;:a;N;$!ba;d}' test 
a
b
c
定义一个标签a,匹配c,然后N把下一行加到模式空间里,匹配最后一行时,才退出标签循环,然后命令d,把这个模式空间里的内容全部清除。
if 匹配"c"
:a
追加下一行
if 不匹配"$"
goto a
最后退出循环,d命令删除。

打印1到100行含某个字符串的行

这个需求,其实就是sed指定行范围匹配,较少见。实现:

 sed  -n '1,100{/abc/p}'  1.txt 

 

转载于:https://my.oschina.net/u/3716831/blog/1578176

你可能感兴趣的文章
test
查看>>
定义一个健壮的Android Service (IntentService)类
查看>>
jeecg3.5.0-maven版本-开发环境搭建步骤-myeclipse
查看>>
莱特币litecoin ASIC挖矿机配置三
查看>>
win7 Host 与virtualbox 中的 ubuntu 11.04 共享文件夹
查看>>
Ubuntu linux 关机、重启、注销 命令 (linux)
查看>>
CoffeeScript 速抄本
查看>>
nginx做本地端口代理的问题
查看>>
客户端Web绘图VML与SVG
查看>>
java.io.IOException: 您的主机中的软件中止了一个已建立的连接。
查看>>
ace udp 组播
查看>>
URL编码以及get和post请求乱码问题
查看>>
gzip: stdin: not in gzip format 解决办法
查看>>
二维码扫描
查看>>
耐思尼克今起开放CN域名个人注册
查看>>
CentOS 5.5下安装MySQL 5.5全过程分享
查看>>
scala第八天
查看>>
JAVA图书管理系统汇总共27个 ——下载目录
查看>>
js_使用原生js方法提交post表单
查看>>
Linux下将ISO文件安装为本地YUM源
查看>>