首页 > 系统相关 >Linux命令行之文本处理awk

Linux命令行之文本处理awk

时间:2024-07-12 18:29:38浏览次数:15  
标签:pattern 分隔符 默认 文本处理 Separator Linux awk data

处理有分隔符的文本文档,默认分隔符是空格。

awk的一些内置变量

  • NF:字段数量(Number of Fields)
  • NR:当前记录号(Number of Records)
  • $0:当前记录(整行)
  • $1, $2, ...:当前记录的第1个、第2个等字段
  • FS:字段分隔符(Field Separator),默认为空格或制表符
  • OFS:输出字段分隔符(Output Field Separator),默认为空格
  • RS:记录分隔符(Record Separator),默认为换行符
  • ORS:输出记录分隔符(Output Record Separator),默认为换行符
awk 'pattern {action}' file
  • pattern:这是一个可选的正则表达式,用于匹配输入行的内容。如果省略,则对每一行都执行action
  • action:这是一个或多个命令,当pattern匹配时执行。
  • file:要处理的输入文件。如果省略,则从标准输入读取。

假设我们有一个名为data.txt的文件,内容如下:

John 25 Engineer
Alice 30 Doctor
Bob 28 Teacher

(1)输出每个人的姓名和年龄

awk '{print $1,$2}' data.txt

  

(2)输出年龄大于25的行

awk '$2 > 25 {print $0}' data.txt
awk -F: # 指定使用:作为行分隔符

标签:pattern,分隔符,默认,文本处理,Separator,Linux,awk,data
From: https://www.cnblogs.com/jmd300/p/18299190

相关文章

  • Linux下IIO子系统驱动
    1引入IIO子系统随着手机、物联网、工业物联网和可穿戴设备的爆发,传感器的需求越来越多。比如手机或者手环里面的加速度计、光传感器、陀螺仪、气压计、磁力计等,这些传感器本质上都是ADC。这些传感器对外通过IIC或者SPI接口来发送ADC转换后的原始数据。Linux内核为了管理......
  • Linux下PWM子系统
    1pwm子系统框架内核态分为:pwmcore:pwm_chip的添加删除,pwm_class类pwm_chip/pwm_device的sysfs创建。pwmdriver:pwm_chip对象实例,注册添加到pwmcore。 pwm_chip可以包含一个或多个pwm_device,每个pwm_device通过设置不同pwm_state来达到目的。1.1源码结构drivers/pwm/......
  • Linux捣鼓记录:debian12解决用户无法执行sudo,提示不是 sudoers 文件
    问题:dalong@debian:~$sudoaptupdate[sudo]dalong的密码:dalong不是sudoers文件。当你尝试使用sudo命令并收到"dalong不是sudoers文件"的错误信息时,这意味着用户dalong没有被配置为可以使用sudo命令。在Debian和其他基于Debian的系统中,sudo的权限是由......
  • Rocky Linux/Redhat8运行Calibre2022报错:Software tree is for environment VCO=aoj
    运行出现了错误:virserver.tclerror:ERROR:CurrentexecutionenvironmentisVCO=aok.SoftwaretreeisforenvironmentVCO=aoj。即calibre软件版本为aoj,但当前的环境是aok。从官网查询calibre的roadmap:http://calibre.mentorcloudservices.com/docs/Calibre_OS_Roadmap.......
  • Linux 外挂磁盘
    1.查看PC磁盘lsblk-f结果:NAMEFSTYPELABELUUIDMOUNTPOINTsdb└─sdb1ext4b5ae9dca-7e36-4ed9-8090-08415f9bb5......
  • 嵌入式linux使用usb接口,共享windows网络
    【RNDIS】嵌入式linux使用usb接口,共享windows网络内核配置CONFIG_USB_GADGETFS=mCONFIG_USB_ETH=mCONFIG_USB_ETH_RNDIS=yusb接口工作在device模式,我理解使用otg或者device模式都可以。数据流以太网<----->windows/linux网卡<----->usb接口<----->嵌入式Linux系统......
  • TCP,Linux下清除空闲连接功能
    #include<iostream>#include<ctime>structConnection{ intsockfd; time_tlastActiveTime; //构造函数 Connection(intfd):sockfd(fd),lastActiveTime(time(nullptr)){} //更新最后活动时间 voidupdateActivity() { lastActiveTime=time(......
  • 【Linux】02.shell命令及其运行原理
    一、概念与功能广义上的Linux操作系统分为Linux内核和Linux外壳。内核部分就是我们实际的Linux操作系统,我们称之为核心(kernel)。我们一般用户,不擅长也不能直接使用kernel,而是通过kernel的外壳程序,也就是所谓的shell来与kernel沟通。那么如何理解?为什么不能直接使用kerne......
  • linux-Rsyslog自定义配置json模板
    配置日志接收模板和转发参考:https://www.cnblogs.com/xwupiaomiao/p/17565418.html自定义模板配置文件在主配置文件中添加(rsyslog.conf)include(file=“/etc/rsyslog.d/*.conf”mode=“optional”)方案一在/etc/rsyslog.d/下创建一个配置文件ct3a1.conf#日志模板......
  • Linux下WIFI驱动使用
    1WIFI驱动编译初体验一般WIFI有2种接口:USB和SDIO。例如USBWIFI使用的芯片为RTL8188EUS或RTL8188CUS,SDIO接口的WIFI使用芯片为RTL8189FS,如下图:RTL8189和RTL8188都是realtek公司出品的WIFI芯片,WIFI芯片原厂一般会整包提供。1.1向Linux内核添加WIFI驱动realt......