返回顶部
首页 > 资讯 > 精选 >awk命令和脚本的编写启蒙
  • 260
分享到

awk命令和脚本的编写启蒙

2023-06-05 13:06:49 260人浏览 泡泡鱼
摘要

awk的命令是一种处理或分析文本文件的强大方法,特别是按行和列组织的数据文件。可以从命令行运行简单的awk命令。更复杂的任务应该作为awk程序(所谓的awk脚本)写入文件。awk命令的基本格式如下:awk 'pattern

awk的命令是一种处理或分析文本文件的强大方法,特别是按行和列组织的数据文件。可以从命令行运行简单的awk命令。更复杂的任务应该作为awk程序(所谓的awk脚本)写入文件。

awk命令和脚本的编写启蒙

awk命令的基本格式如下:

awk 'pattern {action}' input-file > output-file

这意味着:取输入文件的每一行; 如果该行包含该模式,则将该操作应用于该行并将结果行写入输出文件。 如果省略该模式,则该操作将应用于所有行。 例如:

linuxidc@ubuntu:~/linuxidc.com$ awk '{ print $5 }' linuxidc.txt > linuxmi.txt

该语句获取每行第5列的元素,并将其作为一行写入输出文件“output.txt”中。 变量'$4'指的是第四列。 类似地,您可以使用$1,$2,$3等访问第一列,第二列和第三列。默认情况下,假定列由空格或制表符(所谓的空格)分隔。 因此,如果输入文件“linuxidc.txt”包含以下行:

  • 1, linuxidc com, Title 599, Price $9.30

  • 2, ninhao linuxidc, Title 761, Price $5.90

  • 3, naike xie, Title 880, Price $9.10

  • 4, Lady Gaga, Title 198, Price $1.30

  • 5, Johnny Cash, Title 582, Price $6.50

  • 6, Elvis Presley, Title 370, Price $9.30

  • 7, John Lennon, Title 571, Price $8.90

  • 8, Michael Jackson, Title 673, Price $7.50

  • 9, linuxidc com, Title 585, Price $1.80

然后该命令将以下行写入输出文件“linuxmi.txt”:

linuxidc@ubuntu:~/linuxidc.com$ cat linuxmi.txt599,761,880,198,582,370,571,673,585,

awk命令和脚本的编写启蒙

如果列分隔符不是空格或制表符(例如逗号),则可以在awk语句中指定,如下所示:

linuxidc@ubuntu:~/linuxidc.com$ awk -F, '{ print $3 }' linuxidc.txt > linuxmi.txt

如果认为列被逗号分隔,这将从每行的第3列中选择元素。 因此,在这种情况下,输出将是:

linuxidc@ubuntu:~/linuxidc.com$ cat linuxmi.txt Title 599 Title 761 Title 880 Title 198 Title 582 Title 370 Title 571 Title 673 Title 585

awk命令和脚本的编写启蒙

大括号内的语句列表('{','}')称为块。 如果将条件表达式放在块前面,则只有条件为真时才会执行块内的语句。

awk '$7=="\$7.30" { print $3 }' linuxidc.txt

在这种情况下,条件是$7=="\$7.30",这意味着第7列的元素等于$7.30。 美元符号前面的反斜杠用于阻止系统将$7解释为变量,而是从字面上理解美元符号。

因此,这个awk语句打印出每行第3列的元素,第7列的“$7.30”。

您还可以使用正则表达式作为条件。 例如:

linuxidc@ubuntu:~/linuxidc.com$ awk '$7=="\$7.30" { print $3 }' linuxidc.txt

两个斜杠('/')之间的字符串是正则表达式。 在这种情况下,它只是字符串“30”。 这意味着如果一行包含字符串“30”,系统将在该行的第3列打印出该元素。 上例中的输出将是:

linuxidc@ubuntu:~/linuxidc.com$ awk '/30/ { print $3 }' linuxidc.txtcom,Gaga,Presley,

awk命令和脚本的编写启蒙

如果表元素是数字,awk可以在它们上运行计算,如下例所示:

linuxidc@ubuntu:~/linuxidc.com$ awk '{ print ($2 * $3) + $7 }' linuxidc.com.txt

awk命令和脚本的编写启蒙

除了访问当前行元素($1,$2等)的变量之外,还有变量$0表示完整行(行),变量NF表示字段数。

您还可以在此示例中定义新变量:

linuxidc@ubuntu:~/linuxidc.com$ awk '{ sum=0; for (col=1; col<=NF; col++) sum += $col; print sum; }' linuxidc.com.txt

awk命令和脚本的编写启蒙

这将计算并打印每行所有元素的总和。

awk语句经常与sed命令结合使用。

原文来自:https://www.linuxprobe.com/awk-command-script.html

--结束END--

本文标题: awk命令和脚本的编写启蒙

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

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

猜你喜欢
  • awk命令和脚本的编写启蒙
    awk的命令是一种处理或分析文本文件的强大方法,特别是按行和列组织的数据文件。可以从命令行运行简单的awk命令。更复杂的任务应该作为awk程序(所谓的awk脚本)写入文件。awk命令的基本格式如下:awk 'pattern...
    99+
    2023-06-05
  • Springboot启动停止命令的.sh脚本编写方式
    目录一、使用脚本二、编写脚本1、创建文件2、添加内容3、修改内容4、启动 jar 服务总结一、使用脚本 启动:./start.sh start停止:./start.sh stop重启...
    99+
    2023-05-19
    Springboot启动 Springboot启动停止命令 Springboot .sh脚本编写
  • linux awk时间计算脚本及awk命令详解
    在linux如果计划时间是个麻烦事, 用awk脚本如下 BEGIN {FS=":";OFS=":"} {total_seconds=total_seconds+$3} total_seconds&g...
    99+
    2022-06-04
    详解 脚本 命令
  • 如何使用awk语言编写脚本
    这篇文章主要介绍“如何使用awk语言编写脚本”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何使用awk语言编写脚本”文章能帮助大家解决问题。awk是一种编程语言,用于在linux/unix下对文本...
    99+
    2023-06-27
  • DOS编写脚本常用命令整理小结
    目录DOS编写脚本常用命令整理文件相关命令目录相关命令常用恶意攻击的命令:bat编写常用命令bat高级命令if语句DOS编写脚本常用命令整理 文件相关命令 echo t t t &...
    99+
    2024-04-02
  • Windows编写jar启动脚本和关闭脚本的操作方法
    目录前言启动脚本编写关闭脚本restart.bat 重启脚本前言 假设项目打包后,项目结构为: 此时如果需要再windows环境中进行项目的启动或关闭,需要频繁的手敲命令,很不方便...
    99+
    2022-12-29
    Windows编写jar启动脚本 Windows jar关闭脚本 Windows jar脚本
  • awk命令、awk编程语言详细介绍和实例
    一,什么是awk awk是linux下的一个命令,他对其他命令的输出,对文件的处理都十分强大,其实他更像一门编程语言,他可以自定义变量,有条件语句,有循环,有数组,有正则,有函数等。他读取输出,或者文件的方...
    99+
    2022-06-04
    详细介绍 编程语言 实例
  • Shell脚本中awk指令的用法
    语法格式:awk [选项]  '指令'  操作文件 常用选项:-F  指定分隔符,分隔符用""引起来 -v:var=value在awk程序开始之前指定一个值valu给变量var,这些变...
    99+
    2022-06-04
    shell脚本awk指令 shell脚本中awk指令的用法
  • Python+pandas编写命令行脚本操作excel的tips详情
    目录一、python logging日志模块简单封装二、pandas编写命令行脚本操作excel的小tips1、tips1.1使用说明格式1.2接收操作目录方法1.3检测并读取目录下...
    99+
    2024-04-02
  • ubuntu22.04设置开启自启动命令脚本
    前言: 是这样的,新的机器要挂在nfs存储,报错: root@85-document:~# mount -t nfs -o nolock 192.168.1.xx:/disk/xiao /home/xiao/disk1mount: /hom...
    99+
    2023-09-10
    linux 服务器
  • 帮助你排序文本文件的 Awk 命令行或脚本(推荐)
    Awk 是一个强大的工具,可以执行某些可能由其它常见实用程序(包括 sort)来完成的任务。 Awk 是个普遍存在的 Unix 命令,用于扫描和处理包含可预测模式的文本。但是,由于它具有函数功能,因此也可以合理地称之为编...
    99+
    2022-06-04
    Awk 命令行 Awk 命令行脚本
  • Linux下服务器重启的脚本命令
    Linux关闭和重启系统一般使用相同的命令可以实现。 在Linux系统下常用在关机/重启命令有shutdown、halt、reboot和init,但每个命令的内部工作过程是不同的。 1、shutdown命令...
    99+
    2022-06-04
    重启 脚本 命令
  • Linux命令行和shell脚本编程的示例分析
    小编给大家分享一下Linux命令行和shell脚本编程的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!第一个脚本文件代码如下:#!/bin/bashech...
    99+
    2023-06-09
  • Linux下使用expect命令编写自动化交互脚本
    expect 是建立在工具控制语言(Tool Control Language,TCL)之上的一个工具,它允许你通过编写程序来对一些日常繁琐的任务进行有交互界面的自动化操作。在 expect 上下文环境,你可以使用一些额...
    99+
    2022-06-04
    linux expect命令 linux下使用expect命令编写自动化交互脚本
  • Linux命令行和shell脚本编程宝典 Richard Blum
    第一个脚本文件 #!/bin/bashecho "This is my first bash code!"exit 0 重定向符号和数学计算 #!/bin/bashecho -n "The time and...
    99+
    2022-06-04
    命令行 脚本 宝典
  • Linux文本分析命令awk的用法
    本篇内容主要讲解“Linux文本分析命令awk的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux文本分析命令awk的用法”吧!0、基本用法awk是一个强大的文本分析工具,简单来说aw...
    99+
    2023-06-16
  • 如何编写linux自动重启tomcat脚本
    这篇文章主要介绍“如何编写linux自动重启tomcat脚本”,在日常操作中,相信很多人在如何编写linux自动重启tomcat脚本问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何编写linux自动重启to...
    99+
    2023-06-09
  • 如何写个设置命令的VBS脚本代码
    这篇文章将为大家详细讲解有关如何写个设置命令的VBS脚本代码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。代码如下:'将以下代码复制并保存为"系统命令.VBS",并运行安装。 ...
    99+
    2023-06-08
  • SpringBoot应用线上重启脚本的命令详解
    查找应用进程PID杀死应用进程PID运行启动脚本 烦不烦啊,像我这么懒得人 得想个办法一步搞定! 如下所示 新建一个shell脚本,然后将其运行之! #!/bin/sh #根据进程名...
    99+
    2024-04-02
  • linux常用脚本和命令分享
    这篇文章主要介绍“linux常用脚本和命令分享”,在日常操作中,相信很多人在linux常用脚本和命令分享问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux常用脚本和命令分享”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作