awk常用方法

awk常用方法

https://blog.51cto.com/oldboy/5447610
awk常用的就是处理列.


awk以指定符号分割-F

# 默认以 空格 分割
echo "Hello World! OpenAI GPT-3.5" | awk '{print $2}'

在这里插入图片描述

# -F以:分割,打印第3列和第4列
awk -F":" '{ print $3,$4 }' /etc/passwd

输出指定列

# 以:分割,打印第3列和第4列
awk -F":" '{ print $3,$4 }' /etc/passwd

# 带字符串拼接打印第3列和第4列
[rhel7 root ~]# awk -F":" '{ print "第三列:"$3, "\t第四列:"$4 }' /etc/passwd
第三列:0        第四列:0
第三列:1        第四列:1
第三列:2        第四列:2

# 打印第3列和第4列的第一行
awk -F":" 'NR==1{ print $3,$4 }' /etc/passwd
awk -F":" 'NR==1{print "第三列:"$3, "\t第四列:"$4 }' /etc/passwd
[rhel7 root ~]# awk -F":" 'NR==1{print "第三列:"$3, "\t第四列:"$4 }' /etc/passwd
第三列:0        第四列:0

输出前N列

# 输出前N列
awk -F":" 'NF=5' /etc/passwd

## 输出文件内容 ```shell # 打印所有内容 awk '{print}' filename awk '{print $0}' filename ## 等同于cat filename ```

输出指定行

# 输出第3行
awk 'NR==3' filename
## 等同于
sed -n '3p' filename
head -3 filename|tail -1

# 输出第3到第5行
awk 'NR==3,NR==5' filename

#打印行号大于3的数据
awk ‘NR > 3’ filename

打印每一行的字数

# 统计每一行的字数
awk '{print NF}' filename

# 字符串拼接
awk '{print "行号:"NR "\t字数:"NF}' filename

输出最后一列

# 不分割字符串打印
awk '{print $NF}' /etc/passwd

# 以:分割,打印最后一列
awk -F":" '{ ptint $NF }' /etc/passwd
[rhel7 root ~]# awk -F":" '{print $NF}' /etc/passwd
/bin/bash
/sbin/nologin

消除空白行

# 消除空白行
awk NF filename

打印网卡配置中的ip地址

# 打印网卡配置中的ip地址
[rhel7 root ~]# ifconfig eth0|grep -w "inet"|awk '{print $2}'
192.168.0.93

[rhel7 root ~]# ip a show eth0|grep -w "inet"|awk '{print $2}'|awk -F "/" '{print $1}'
192.168.0.93
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

识途老码

赞赏是第一生产力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值