Linux Sed使用场景详解,轻松解决日常工作需求
Sed是一项Linux指令,功能同awk类似,差别在于,sed简单,对列处理的功能要差一些,awk的功能复杂,对列处理的功能比较强大。
Sed全称是:Stream EDitor
今天分享的内容是:
Sed日常工作中常用命令的详解,可以帮助解决日常工作需求。
Sed命令使用方法全解
命令1:删除文件第二行 d命令
sed '2d' text.txt
命令2:打印从第五行开始到第一个包含以w1开始的行之间的所有行 p命令
sed -n '5,/^w1/p'
命令3:所有在模板test和check所确定的范围内的行都被打印
sed -n '/test/,/cat/p' text.txt
命令4:多点编辑:e命令
第一条命令-e删除1至5行
第二条命令-e用w1替换w2
sed -e '1,5d' -e 's/w1/w2/' text.txt
命令5:选定行的范围:逗号, sed 截图某时间到某时间之间的日志
sed -n '/2016-03-01 10:00/,/2016-03-01 12:15:/p' /mnt/resource/catalina.out > /tmp/catalina.out.20160301
命令6:全局替换zk.properties文件中的内容
-i 表示inplace edit,就地修改文件
-r 表示搜索子目录
-l 表示输出匹配的文件名
grep -rl 172.16.100.33 /opt/tomcat/webapps/ROOT/WEB-INF/classes/sysconfigs/zk.properties | xargs sed -i s/172.16.100.33/172.16.100.59/g
命令7:将分隔符换成问号”?”
sed 's?原字符串?替换字符串?'
示例文件
[root@test-test-mysql-01 scripts]# cat text.txt
w1 w1 w1 w1 w1 w1
test my car w1
w1 w1 w1
w1
命令8:在所有行首添加
sed ‘s/^/添加的头部&/g’
[root@test-test-mysql-01 scripts]# sed 's/^/添加的头部&/g' text.txt
添加的头部w1 w1 w1 w1 w1 w1
添加的头部test my car w1
添加的头部w1 w1 w1
添加的头部w1
命令9:在所有行末添加
sed ‘s/$/&添加的尾部/g’ text.txt
[root@test-test-mysql-01 scripts]# sed 's/$/&添加的尾部/g' text.txt
w1 w1 w1 w1 w1 w1添加的尾部
test my car w1添加的尾部
w1 w1 w1添加的尾部
w1添加的尾部
命令10:替换第2行
sed '2s/原字符串/替换字符串/g'
命令11:替换最后一行
sed '$s/原字符串/替换字符串/g'
命令12:替换2到5行
sed '2,5s/原字符串/替换字符串/g'
命令13:替换2到最后一行
sed '2,$s/原字符串/替换字符串/g'
命令14:(-n)选项和p标志一起使用表示只打印那些发生替换的行。
sed -n 's/^w1/w2/p' text.txt
命令15:全局替换文件中car 字符串后的wl 后追加w2
[root@test-test-mysql-01 scripts]# sed -e '/car/s/w1/&w2/g' text.txt
w1 w1 w1 w1 w1 w1
test my car w1w2
w1 w1 w1
w1
命令16:在文件中w1后面追加w2,且只有第一次出现w1的时候
[root@test-test-mysql-01 scripts]# sed -e 's/w1/&w2/1' text.txt
w1w2 w1 w1 w1 w1 w1
test my car w1w2
w1w2 w1 w1
w1w2
在这里还是要推荐下我自己建的Python学习Q群:746506216,群里都是学Python的,如果你想学或者正在学习Python ,欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2022最新的Python进阶资料和零基础教学,欢迎进阶中和对Python感兴趣的小伙伴加入!
相关文章
- linux sort,uniq,cut,wc命令详解
- linux下安装python3.6
- linux c++下遍历文件
- linux磁盘分区详解
- linux shell 字符串操作详解 (长度,读取,替换,截取,连接,对比,删除,位置 )
- 全是干货---Linux 高可用(HA)集群基本概念详解
- 记录一下新建linux修改流程详细
- 【Linux基础】VI替换命令详解
- Linux - YUM包管理
- Linux模块详解(原创)
- Linux常见疑难问答
- Linux的wget命令详解【转载】
- Linux中vi编辑器的使用详解
- Linux cat命令详解
- Linux 搭建YUM仓库源详解
- Linux系统调优详解(一)——系统调优概述与Top命令详解
- Linux安装Python3详解
- Linux四剑客详解——find
- Linux 定时任务详解
- Linux 主要的发行系统版本介绍
- linux系统编程:线程同步-信号量(semaphore)
- Linux中搭建SVNserver
- linux 配置LVM
- L46.linux命令每日一练 -- 第七章 Linux用户管理及用户信息查询命令 -- w和who
- Ubunbtu18.04之No rule to make target ‘kernel/include/linux/netfilter/xt_CONNMARK.h
- Linux sudo权限绕过漏洞详解
- Linux【基础篇】—— linux操作系统目录结构、运行级别介绍
- linux 文件标志位 setuid与setgid与stick bit 详解
- Linux解压/压缩命令详解
- Linux运维常用命令
- sudo rm-rf引发的惨案——Linux硬盘的分区和挂载
- Linux内核Thermal框架详解十三、Thermal Governor(3)
- Linux tar命令一个实用的参数--strip-component