【Linux运维小白笔记 AWK sed】

本文介绍sed和awk这两种强大的文本处理工具的基本用法及实例演示。包括编辑命令、元字符使用方法,以及内置变量等,通过具体案例展示了如何利用这些工具进行高效的数据过滤和格式化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                   

使用格式:

 

sed '编辑命令' 文件名   

: sed -n '/www.a.com/p' /usr/local/nginx/logs/access.log 

 #过滤Nginx日志文件里含有www.a.com的信息

 

awk 选项 '模式或者命令{编辑指令}' 文件名

:    awk '/www.a.com/{print}' /usr/local/nginx/logs/access.log

#过滤Nginx日志文件里含有www.a.com的信息

 

 元字符 :

               \    转义
              ^   以....开头
              $   以....结尾
              .   任意符
              *   匹配子表达式0次或多次  
 

            [list]  匹配列表里的一个字符 eg:  go[ola]d 也只是匹配其中一个字符             
            [^list]  匹配任意一个不在列表里的一个字符
           \{n,m\}  匹配前面的子表达式最小n到最大m次
  

 扩展元字符:

                +  匹配前面子表达式1次以上
                ? 匹配前面子表达式0次或者1次
                () 将括号中的字符串看成一个整体
                |  以 或 的方式匹配
   
     awk 内置变量:
                 FS  指定每行文本中的分隔断,不写分隔符默认空格
                 NF  处理当前文本的列数
                 NR  处理当前文本的行数
                 $0  处理当前行的整行内容
                 $n  处理当前的第n个字段

 

简单实操案例:

一条命令:提取IP并且编辑IP生成主机名:

生成格式:用户名-IP-地址)( 其中IP的 . 也替换成 - )

hostname `ifconfig | grep "inet addr:" | awk -F: 'NR==1 {print $2}'|awk '{print $1}'|awk -F. '{print "root-"$1"-"$2"-"$3"-"$4"-BeiJing"}'`

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值