返回顶部
首页 > 资讯 > 精选 >Awk常用用法有哪些
  • 235
分享到

Awk常用用法有哪些

2023-06-05 11:06:35 235人浏览 薄情痞子
摘要

Awk常用用法有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 awk语法:awk [option] 'pattern {action}' fil

Awk常用用法有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

 awk

语法:

awk [option] 'pattern {action}' file

参数选项

 -F 指定字段分隔符

-v 定义或者修改一个awk内部的变量

使用范例

[root@db1 ~]# cat  -n  passwd

     1root:x:0:0:root:/root:/bin/bash

     2bin:x:1:1:bin:/bin:/sbin/nologin

     3Daemon:x:2:2:daemon:/sbin:/sbin/nologin

     4adm:x:3:4:adm:/var/adm:/sbin/nologin

     5lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

     6sync:x:5:0:sync:/sbin:/bin/sync

     7shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

     8halt:x:7:0:halt:/sbin:/sbin/halt

     9mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

    10operator:x:11:0:operator:/root:/sbin/nologin

显示文件第5行

root@db1 ~]#  awk 'NR==5' passwd

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

显示文件2-6行

[root@db1 ~]#  awk 'NR==2,NR==6' passwd

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

给文件显示行号

awk '{print NR,$0}' passwd

1 root:x:0:0:root:/root:/bin/bash

2 bin:x:1:1:bin:/bin:/sbin/nologin

3 daemon:x:2:2:daemon:/sbin:/sbin/nologin

4 adm:x:3:4:adm:/var/adm:/sbin/nologin

5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

6 sync:x:5:0:sync:/sbin:/bin/sync

7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

8 halt:x:7:0:halt:/sbin:/sbin/halt

9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

10 operator:x:11:0:operator:/root:/sbin/nologin

显示文件第2行到第6行,并显示行号

# awk 'NR==2,NR==6 {print NR, $0}' passwd

2 bin:x:1:1:bin:/bin:/sbin/nologin

3 daemon:x:2:2:daemon:/sbin:/sbin/nologin

4 adm:x:3:4:adm:/var/adm:/sbin/nologin

5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

6 sync:x:5:0:sync:/sbin:/bin/sync

显示文件的第一列和最后一列

# awk -F ":" '{print $1,$NF}' passwd

root /bin/bash

bin /sbin/nologin

daemon /sbin/nologin

adm /sbin/nologin

lp /sbin/nologin

sync /bin/sync

shutdown /sbin/shutdown

halt /sbin/halt

mail /sbin/nologin

operator /sbin/nologin

用gsub函数把文件中的/sbin/nologin替换为/bin/bash

 gsub("替换对象","替换成什么内容",哪一列)

# awk '{gsub("/sbin/nologin","/bin/bash",$0); print $0}' passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/bin/bash

daemon:x:2:2:daemon:/sbin:/bin/bash

adm:x:3:4:adm:/var/adm:/bin/bash

lp:x:4:7:lp:/var/spool/lpd:/bin/bash

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/bin/bash

operator:x:11:0:operator:/root:/bin/bash

取出网卡的IP地址:

root@db1 ~]#  ifconfig  ens33

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.1.210  netmask 255.255.255.0  broadcast 192.168.1.255

        inet6 fe80::20c:29ff:fe66:629a  prefixlen 64  scopeid 0x20<link>

        ether 00:0c:29:66:62:9a  txqueuelen 1000  (Ethernet)

        RX packets 23839  bytes 2151619 (2.0 MiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 272  bytes 19255 (18.8 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

# ifconfig ens33|awk -F "(inet)|(netmask)" 'NR==2{print $2}'

 192.168.1.210  

说明:以(inet)|(netmask)为分隔符

# ifconfig ens33|awk -F " " 'NR==2{print $2}'

192.168.1.210

说明:以空格为分隔符

取出用户名

# awk -F ":"  '{print $1}' passwd

root

bin

daemon

adm

lp

sync

shutdown

halt

mail

operator

取出用户名后排序

#  awk -F ":"  '{print $1}' passwd|sort

abrt

adm

admin

apache

avahi

bin

chrony

cockpit-ws

colord

去重计数

awk -F ":"  '{print $NF}' passwd|sort|uniq -c

# awk -F ":"  '{print $NF}' passwd|sort|uniq -c

     10 /bin/bash

      1 /bin/sync

      1 /sbin/halt

     43 /sbin/nologin

      1 /sbin/shutdown

第2种方法

创建数组

# awk -F ":"  '{hotel[$NF]}' passwd

# awk -F ":"  '{hotel[$NF];print $NF}' passwd

开始统计

# awk -F ":"  '{hotel[$NF]++;print $NF,hotel[$NF]}' passwd

# awk -F ":"  '{hotel[$NF]++}END{for(domain in hotel)print domain,hotel[domain]}' passwd

/bin/sync 1

/bin/bash 10

/sbin/nologin 43

/sbin/halt 1

/sbin/shutdown 1

行号小于3的行

# awk 'NR < 3 {print $0}' passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

以root开头的行

 awk '/^root/{print $0}' passwd

root:x:0:0:root:/root:/bin/bash

第3到第6行

# awk 'NR>3 && NR<=6 {print $0}'  passwd

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

文件前打印aaa bbb,文件结束尾部打印ccc DDD

awk 'BEGIN{print "aaa","bbb"} {print $1,$2} END{print "ccc","ddd"}' passwd

awk -F ":" '{ if($3 < 500) { print $1,"system user"} else{ print $1,"putong user" } }'  /etc/passwd

root system user

bin system user

daemon system user

adm system user

lp system user

sync system user

shutdown system user

awk 'BEGIN{ for( i=1;i<=6;i++ ){ print i } }'

awk -v i=1 'BEGIN{ while(i<=5){print i;i++} }'

看完上述内容,你们掌握Awk常用用法有哪些的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: Awk常用用法有哪些

本文链接: https://lsjlt.com/news/242484.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Awk常用用法有哪些
    Awk常用用法有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 awk语法:awk [option] 'pattern {action}' fil...
    99+
    2023-06-05
  • awk具体使用方法有哪些
    这篇文章主要为大家展示了“awk具体使用方法有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“awk具体使用方法有哪些”这篇文章吧。awk是一个强大的文本分析工具,相对于grep的查找,sed...
    99+
    2023-06-27
  • awk的特殊使用方法有哪些
    小编给大家分享一下awk的特殊使用方法有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!awk是Unix环境下一种非常好的语言,适合于文本处理和报表生成,它还有...
    99+
    2023-06-27
  • linux中awk基本使用方法有哪些
    这篇文章给大家分享的是有关linux中awk基本使用方法有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显...
    99+
    2023-06-27
  • AWK命令的特殊使用方法有哪些
    这篇文章主要介绍“AWK命令的特殊使用方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“AWK命令的特殊使用方法有哪些”文章能帮助大家解决问题。基本用法awk命令格式如下awk [-...
    99+
    2023-06-27
  • Sed常用用法有哪些
    今天就跟大家聊聊有关Sed常用用法有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。将文件中的root全部替换为abc:sed  's/root/abc/g...
    99+
    2023-06-05
  • Redis有哪些常用的用法
    今天就跟大家聊聊有关Redis有哪些常用的用法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、redis 是什么> redis是一种支持Ke...
    99+
    2024-04-02
  • js常用方法有哪些
    小编给大家分享一下js常用方法有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体如下:js常用方法demo<!DOC...
    99+
    2024-04-02
  • HANA常用语法有哪些
    HANA常用语法有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。SQL--1.查看当前日期 SELECT CURRE...
    99+
    2024-04-02
  • BeautifulSoup常用语法有哪些
    本篇内容主要讲解“BeautifulSoup常用语法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“BeautifulSoup常用语法有哪些”吧!解析库Be...
    99+
    2024-04-02
  • ajax常用方法有哪些
    这篇文章主要介绍了ajax常用方法有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.url: 要求为String类型的参数,(默认为当...
    99+
    2024-04-02
  • HTML5常用语法有哪些
    这篇文章主要为大家展示了“HTML5常用语法有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“HTML5常用语法有哪些”这篇文章吧。HTML头部标记标记描述H...
    99+
    2024-04-02
  • Shell常见用法有哪些
    这篇文章主要为大家展示了“Shell常见用法有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Shell常见用法有哪些”这篇文章吧。shell的简单使用最近发现shell脚本在平常工作中简直算...
    99+
    2023-06-09
  • DIV常见用法有哪些
    这篇文章主要介绍了DIV常见用法有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.启用div作为编辑器 让div进入编辑状态很简单,只需要: 代码如下:div.cont...
    99+
    2023-06-08
  • Dnsmasq常见用法有哪些
    这篇文章将为大家详细讲解有关Dnsmasq常见用法有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Dnsmasq为小型网络提供网络基础设施:DNS,DHCP,路由器通告和网络引导。它被设计为轻量级且占...
    99+
    2023-06-27
  • ansible常用方法有哪些
    这篇文章主要介绍了ansible常用方法有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇ansible常用方法有哪些文章都会有所收获,下面我们一起来看看吧。ansible有很多模块,也有很多playbook...
    99+
    2023-06-05
  • SQLNET.ORA的常见用法有哪些
    这篇文章主要讲解了“SQLNET.ORA的常见用法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQLNET.ORA的常见用法有哪些”吧!一、IP 黑...
    99+
    2024-04-02
  • HTML5中常用语法有哪些
    这篇文章给大家分享的是有关HTML5中常用语法有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。HTML 5 常用语法一览(列举不支持的属性)HTML头部标记标记描述HTML5...
    99+
    2024-04-02
  • jquery最常用方法有哪些
    本篇内容介绍了“jquery最常用方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!   1.基本...
    99+
    2024-04-02
  • jQuery常用的方法有哪些
    这篇文章主要介绍“jQuery常用的方法有哪些”,在日常操作中,相信很多人在jQuery常用的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jQuery常用的方法有...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作