awk 您所在的位置:网站首页 awk是什么牌子的电脑 awk

awk

2023-10-28 17:55| 来源: 网络整理| 查看: 265

awk awk是一门语言,单行脚本语言 awk常见的环境变量 NR行号NF每行有多少列$NF表示最后一行$数字$1,$2… 取出某一列或者某几列,一般配合-F 一起使用$0每行的所有列(一整行内容)FS字段(列)分隔符,一般用 -F 即可

awk格式

#格式:sed -n '3p' 文件 找谁干啥(条件动作) #awk 格式: #取出/etc/passwd 第一行的第一列和第三列 awk -F: 'NR==1{print $1,$3}' /etc/passwd awk 选项 '条件{动作}' 文件 条件:哪一行,过滤什么内容 动作:print输出与显示,计算... awk 取行 与sed类似awk中条件,如何找出想要的行条件: 指定行号NR=1指定行号范围NR>=3 或 NR>=3 && NRsed.txt ip.txt #方法01 多个管道 [root@localhost ~]# awk -F' ' '{print $2}' ip.txt 192.168.222.100/24 [root@localhost ~]# awk -F' ' '{print $2}' ip.txt | awk -F '/' '{print $1}' 192.168.222.100 #方法02 指定多个分隔符 [root@localhost ~]# awk -F'inet |/' '{print $2}' ip.txt 或 [root@localhost ~]# awk -F'[ /]+' '{print $3}' ip.txt -F'[ /]+ :先用正则匹配出连续出现的空格或/,然后交给awk -F 作为分隔符。 #方法03 awk+sed [root@localhost ~]# awk -F 'inet ' '{print $2}' ip.txt | sed -r 's#(.*)(/.*$)#\1#' 192.168.222.100

取出/etc/passwd 第一列,第三列和最后一列

[root@localhost ~]# awk -F':' '{print $1,$3,$NF}' /etc/passwd awk 行与列综合 awk可以精确到某一行的某一列进行过滤

精确匹配

awk 可以完成 某一列中包含/不包含内容…$3 ~ // 匹配或包含$3 !~ // 不匹配或不包含 格式: awk -F: '第三列 包含 以1或2开头的内容 /etc/passwd' #示例:取出passwd中第三列以1或2开头的内容,显示这一行 [root@localhost ~]# awk -F: '$3 ~ /^[12]/' /etc/passwd

过滤出passwd中第三列以0到3结尾的,显示第一列和第三列内容

#方法01 分步骤 先取行 再取列 awk -F: '$3 ~ /[03]$/' /etc/passwd awk -F: '$3 ~ /[03]$/' /etc/passwd | awk -F: '{print $1,$3}' #方法02 同时取行与取列 awk -F: '$3 ~ /[03]$/ {print $1,$3}' /etc/passwd 条件 动作 awk 选项 '条件{动作}' 文件

过滤出passwd中第三列大于0小于1000的内容,显示第一列和第三列

#条件(取行):第三列大于0小于1000的内容 #动作(取列):显示第一列和第三列 awk -F: '$3>0 && $3


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有