sed和awk用法最全整理

本文详细介绍了Linux文本处理工具sed和awk的使用方法,包括sed的行编辑器功能,如删除、打印、替换、追加文本等,以及awk的工作原理、模式匹配、条件表达式和控制语句。通过实例展示了如何利用sed和awk处理文本,如提取IP地址、处理分区利用率等。
摘要由CSDN通过智能技术生成
一、sed 行编辑器
语法:sed [option] 'script' inputfile
1.option:
sed -n 不自动打印
-e 多点编辑
-f /path/script_file 从指定文件读取编辑脚本
-r 支持扩展的正则表达式
-i.bak 备份文件并原处编辑
2. script: ‘地址命令’
1)地址:1.不给地址:对全文进行处理
2.单地址:#指定行 $:最后一行 /pattern/:匹配到的行
3.地址范围:#,# #,+# /part1/,/part2/ #,/part1/
4.~:步进 1~2奇数行 2~2 偶数行
2)命令:
d:删除匹配的行
p:打印
a[\]text 指定行后追加文本(追加到下一行)支持使用\n多行追加
i 与a相反,在行前插入文本
c[\]text 替代
w /file 保存匹配的行到指定文件
r /file 读取指定文件至匹配到的行后
= 打印行号
! 匹配行取反
s/// 查找替换支持其他分隔符s@@@ s###
g 行内全局替换
p 显示替换成功的行
w /file 将替换成功的行保存至文件
示例:
sed ‘2p’ /etc/passwd
sed –n ‘2p’ /etc/passwd
sed –n ‘1,4p’ /etc/passwd
sed –n ‘/root/p’ /etc/passwd
sed –n ‘2,/root/p’ /etc/passwd 从2行开始
sed -n ‘/^$/=’ file 显示空行行号
sed –n –e ‘/^$/p’ –e ‘/^$/=’ file
sed ‘/root/a\superman’ /etc/passwd行后
sed ‘/root/i\superman’ /etc/passwd 行前
sed ‘/root/c\superman’ /etc/passwd 代替行
sed ‘/^$/d’ file
sed ‘1,10d’ file
nl /etc/passwd | sed ‘2,5d’
nl /etc/passwd | sed ‘2a tea’
sed 's/test/mytest/g' example
sed –n ‘s/root/&superman/p’ /etc/passwd 单词后
sed –n ‘s/root/superman&/p’ /etc/passwd 单词前
sed -e ‘s/dog/cat/’ -e ‘s/hi/lo/’ pets
sed –i.bak ‘s/dog/cat/g’ pets
练习(使用正则):1.取ifconfig中所有ip相关地址
2.分区利用率
3.光盘中rpm包.rpm前一个字符串
4./etc/default/grub中quite后添加net.ifnames=0
5.httpd.conf中NameVirtualHost行,<VirtualHost到<\/VirtualHost行#去掉
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值