首页 > 系统相关 >linux awk命令

linux awk命令

时间:2024-08-05 11:23:44浏览次数:9  
标签:文件 命令 awk file linux print input

awk命令是Linux系统中非常强大的文本处理工具,它能够对文本文件进行分析、处理和格式化输出。以下是awk命令的一些常见用法和示例:

一、基本语法

awk命令的基本语法如下:

awk 'pattern { action }' input_file
  • pattern:用于指定需要匹配的条件,可以是文本字符串或正则表达式。
  • { action }:在匹配到指定pattern的行上执行的动作。
  • input_file:要处理的输入文件名。

二、常见用法和示例

1. 打印文件内容
  • 打印整个文件

    awk '{ print }' input_file
    

    此命令将打印input_file文件的所有行。

  • 打印特定列

    awk '{ print $n }' input_file
    

    此命令将打印input_file文件的第n列,其中$n表示第n个字段。

2. 使用字段分隔符
  • 自定义分隔符
    awk -F',' '{ print $1 }' input_file
    
    此命令将使用逗号作为字段分隔符,并打印input_file文件的第一个字段。
3. 匹配并打印符合条件的行
  • 根据文本匹配

    awk '/pattern/ { print }' input_file
    

    此命令将打印input_file文件中包含"pattern"的所有行。

  • 多条件匹配

    awk '/hello/ && /world/ { print }' input_file
    

    此命令将匹配同时包含"hello"和"world"的行,并打印这些行。

4. 计算和统计
  • 计算列的总和

    awk '{ sum += $1 } END { print sum }' file.txt
    

    此命令将计算file.txt文件中第一列所有数字的总和,并打印结果。

  • 统计行数

    awk 'END { print NR }' file.txt
    

    此命令将统计file.txt文件的行数,并打印结果。

5. 使用内置变量
  • 打印行号和整行内容

    awk '{ print NR, $0 }' file.txt
    

    此命令将在每一行前输出行号。

  • 使用NRNF
    NR表示当前处理的行的行号,NF表示当前行的字段数。

6. BEGIN和END块
  • BEGIN块

    awk 'BEGIN { print "Start processing file" } { print } END { print "Finished processing file" }' file.txt
    

    BEGIN块中的命令在处理文件之前执行,常用于初始化变量或打印标题。

  • END块
    在读取完所有行之后执行,常用于执行总结性操作,如打印总和或平均值。

7. 脚本文件
  • 从脚本文件中读取命令
    awk命令存储到文件中,然后通过-f选项引用该文件。

    awk -f script.awk input_file
    

三、高级用法

awk还支持条件判断、循环、数组等高级功能,可以用来处理更复杂的文本数据。例如,可以使用if语句进行条件判断,使用forwhile循环遍历数组或文件中的行。

总之,awk命令是Linux系统中处理文本数据的强大工具,通过灵活使用其模式匹配、动作执行和内置变量等功能,可以高效地完成各种文本处理任务。

标签:文件,命令,awk,file,linux,print,input
From: https://blog.csdn.net/weixin_42069404/article/details/140922200

相关文章

  • vue项目部署linux
    #usernobody;修改userroot;使用nginx用户root启动Vue项目部署Linux系统在这里使用nginx作为代理工具,首先确保nginx已安装配置。转nginx安装:Nginx安葬修改nginx配置。#在http的节点中添加server,http中可以有多个server,server中可以有多个location规则serve......
  • linux 安装 nginx
    一、官网下载Nginx官网地址:http://nginx.org/en/download.html我下载的是最新稳定版 二、上传到服务器解压1、上传到指定的服务器地址上传的地址自己决定,我上传到/usr/Nginx。2、解压使用命令:tar-zxvf“你的Nginx压缩包”,我这里是:tar-zxvfnginx-1.24.0.t......
  • Linux系统内存管理API
    Linux系统内存管理API遵循POSIX标准的内存管理API:#include<unistd.h>​//brk和sbrk在内部维护一个指针p(void*),p指针指向当前堆内存中已经映射成功的最后一个字节的下一个地址位置void*sbrk(intptr_tincrement);功能:根据参数increment来调整p的位置,既可以映射内存,也......
  • Linux基础第一天
    Linux基础第一天Linux简介Linux是一种开源的操作系统,因此,Linux是一种免费的操作系统,可以在多种计算机设备上运行,包括台式机、笔记本电脑、服务器和嵌入式系统等。Linux操作系统具有稳定性、安全性和可扩展性等优点,广泛应用于服务器领域、云计算、超级计算机和移动设备等各种......
  • Windows使用命令行终止任务
    在Windows操作系统中,可以使用命令提示符(cmd)或WindowsPowerShell来查看运行的任务并终止指定的任务。以下是一些常用的命令:使用命令提示符(cmd)查看运行的任务:打开命令提示符,然后输入以下命令:tasklist这个命令会显示所有当前运行的进程及其对应的进程ID(PID)。终止指定的任务:......
  • 编写一个程序打开两个文件。可以使用命令行参数或提示用户输入文件名. a.该程序以这样
    /编写一个程序打开两个文件。可以使用命令行参数或提示用户输入文件名.a.该程序以这样的顺序打印:打印第一个文件的第一行,第二个文件的第一行,第一个文件的第二行,第二个文件的第二行,以此类推,打印到行数较多文件的最后一行b.修改程序,把行号相同的行打印成一行/#include<stdio.......
  • “命令行利器:sort、uniq、date、ntpdate详解与实战“
    当今操作系统中的命令行工具不仅是管理和调试系统的利器,也是程序员和系统管理员的重要工具。在Unix和类Unix系统中,sort、uniq、date和ntpdate是几个常用的命令,它们各自拥有独特的功能,可以在日常工作中极大地提高效率。本文将深入探讨这些命令的用法和实际应用。1. sort命令s......
  • Linux中的目录结构和文件管理学习
    目录Linux的目录结构文件的查看和检索catmorelessheadtailgrep文件的压缩和解压缩压缩命令解压缩命令归档命令vim文本编辑器文本编辑器的作用文本编辑器的三种模式命令模式末行模式编辑模式Linux的目录结构/root:管理员的宿主(家)目录。/home:普通用户的......
  • Linux用户-sudo命令
    作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注我,我尽量把自己会的都分享给大家,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。Linux是一个多用户多任务操作系统,这意味着它可以同时支持多个用户登录并使用系统。但是我们之前所有的操作都是基于超级......
  • 如何使用Tar命令在Linux系统中解压各种文件格式
    如何使用Tar命令在Linux系统中解压各种文件格式大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!tar命令是Linux系统中一个非常强大的工具,主要用于归档和压缩文件。它支持多种压缩格式,如.tar、.gz、.bz2、.xz等。本文将详细介绍如何使用tar命令解压各......