我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux三剑客之awk命令详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux三剑客之awk命令详解

目录

一、awk常见用法

二、案例

        2.1、awk中-F的使用

        2.2、awk中几个特殊的内部变量

        用法:

 三、实战案例


一、awk常见用法

        通常情况下awk所使用的命令格式如下,其中,单引号家伙是那个大括号“{ }”用于设置对于数据进行的处理动作。awk可以直接处理目标文件,也可以通过“-f”读取脚本对目标文件进行处理。

awk 选项 '模式或条件{编辑指令}' 文件1 文件2  #过滤并输出文件中符合条件的内容

awk -f 脚本文件 文件1 文件2  #从脚本中调用编辑指令,过滤并输出内容

        它与sed命令有一些不同,sed常用于一整行的处理,二awk比较倾向于将一行分成多个“字段”然后再进行处理,awk命令的过程中,可用使用逻辑操作符“&&”表示“与”、“||”表示“或”、“!”表示“非”;还可以进行简单的数学运算。

二、案例

        2.1、awk中-F的使用

cat /etc/passwd | awk -F ".' "{print $1,$3,$4}''

#以":"为分隔符,输出1,3,4列内容

         awk 从输入文件或者标准输入中读入信息,与 sed 一样,信息的读入也是逐行读取的。 不同的是 awk 将文本文件中的一行视为一个记录,而将一行中的某一部分(列)作为记录 中的一个字段(域)。为了操作这些不同的字段,awk 借用 shell 中类似于位置变量的方法, 用$1、$2、$3…顺序地表示行(记录)中的不同字段。另外 awk 用$0 表示整个行(记录)。 不同的字段之间是通过指定的字符分隔。awk 默认的分隔符是空格。awk 允许在命令行中 用“-F 分隔符”的形式来指定分隔符。

        2.2、awk中几个特殊的内部变量

FS:指定每行文本的字段分隔符,默认为空格或制表位。 与-F一样NF:当前处理的行的字段个数。 NR:当前处理的行的行号(序数)。 $0:当前处理的行的整行内容。 $n:当前处理行的第 n 个字段(第 n 列)。 FILENAME:被处理的文件名。RS:数据记录分隔,默认为\n,即每行为一条记录。 

        用法:

cat /etc/passwd | awk '{print}'  #输出所有内容  或者  '{print $0}'

cat /etc/passwd | awk 'NR==1,NR==3{print}' #输出第1~3行内容 

cat /etc/passwd | awk '(NR<=3)$$(NR>=1){print}'

  

 cat /etc/passwd | awk 'NR==1||NR==3{print}' #输出1、3行的内容

nl /etc/passwd | awk '(NR%2)==1{print}'  #输出奇数行(为了更好的可视化,这里用nl)

 nl /etc/passwd | awk '(NR%2)==0{print}'   #输出偶数行

 三、实战案例

58.87.87.99 - - [09/Jun/2020:03:42:43 +0800] "POST /wp-cron.php?doing_wp_cron=1591645363.2316548824310302734375 HTTP/1.1" ""sendfileon128.14.209.154 - - [09/Jun/2020:03:42:43 +0800] "GET / HTTP/1.1" ""sendfileon64.90.40.100 - - [09/Jun/2020:03:43:11 +0800] "GET /wp-login.php HTTP/1.1"""sendfileo

要输出时间和IP

cat 1.txt  | awk -F"[ []" '{print$1,$5}'

awk -F: 'BEGIN{a=0};$3%2==0 && /\/sbin\/nologin/{print NR,$0} END{print a}' /etc/passwd 

 

 

来源地址:https://blog.csdn.net/qq_57377057/article/details/126254525

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux三剑客之awk命令详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux awk 命令详解

AWK是一种处理文本文件的语言,是一个强大的文本分析工具。之所以叫AWK是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符awk是一个强
2023-06-05

详解Linux中的awk命令

简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。 awk有3个不同版本:
2022-06-04

linux awk时间计算脚本及awk命令详解

在linux如果计划时间是个麻烦事, 用awk脚本如下BEGIN {FS=":";OFS=":"}{total_seconds=total_seconds+$3}total_seconds>=60 {total_seconds=total_
2022-06-04

Linux 命令之rsync命令详解

rsync命令rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速
2022-06-04

linux命令之crontab详解

crontab 提交和管理用户的需要周期性执行的任务 更多linux命令详解:linux命令在线工具 Linux 教程:VitePress编写的Linux教程 补充说明 crontab命令 被用来提交和管理用户的需要周期性执行的任务,与wi
2023-08-18

Linux之split命令详解

命令功能:切割文件,将文件以行为单位或以字节为单位进行切割 命令语法: split [?help][?version] split [-<行数>][-l <行数>] [要切割的文件][输出文件名] ,以行数为单位 split [-b <字
2022-06-04

【Linux学习】Linux必备命令之cp命令详解

cp命令是Linux中的一个常用命令,用于将文件或目录复制到指定位置。下面是关于cp命令的一些详细解释和用法:1. 命令格式:cp [选项] 源文件 目标文件- 选项说明:- -r:复制目录及其子目录内容- -i:询问是否覆盖已存在的目标文
2023-09-09

linux命令详解之useradd命令使用方法

Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方
2022-06-04

Linux常用命令之grep命令用法详解

1.官方简介 grep是linux的常用命令,用于对文件和文本执行重复搜索任务的Unix工具,可以通过grep命令指定特定搜索条件来搜索文件及其内容以获取有用的信息。Usage: grep [OPTION]... PATTERN [FILE
2022-06-03

linux命令详解之chkconfig命令使用方法

使用语法:chkconfig[--add][--del][--list][系统服务] 或chkconfig[--level < 等级代号>][系统服务][on/off/reset] chkconfig在没有参数运行时,显示用法。如果加上服务
2022-06-04

Linux命令之mkdir 和 touch详解

目录mkdir什么是 mkdir 命令?如何使用 mkdir 命令?举例说明常用选项参数例子touch什么是 touch 命令?如何使用 touch 命令?举例说明常用选项参数总结mkdir 什么是 mkdir 命令? mkdir 是 ma
2023-06-07

Linux基础命令之mktemp详解

mktemp 创建临时文件或者目录,这样的创建方式是安全的。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。 1、语法 mktemp [选项] [TE
2022-06-04

Linux学习之mkdir命令详解

目录前言1. 文件概念基础知识2. mkdir命令前言 最近几天越来越对linux很感兴趣了, 想再见塔克斯的心情也是越来越浓烈, 自从它给我留了110110110之后,就没了联系。 到现在我也是一头雾水, 我又找不到它而且又没有联
2022-06-04

一天一个shell命令 linux文本内容操作系列-awk命令详解

简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。 awk有3个不同版本
2022-06-04

Linux命令学习之用户切换su,sudo命令详解

目录用户切换相关命令1. su命令2. sudo命令赋予用户sudo操作的权限用公式讲解/etc/sudoers的内容公式还要扩充通配符和取消命令开始编辑其他小知js识用户切换相关命令 为什么要进行用户切换? 在操作过程中需要使用特定的用户
2023-02-08

编程热搜

目录