iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >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://www.lsjlt.com/news/243027.html(转载时请注明来源链接)

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

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • 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脚本编写
  • 如何使用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脚本
  • 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 服务器
  • Linux命令行和shell脚本编程的示例分析
    小编给大家分享一下Linux命令行和shell脚本编程的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!第一个脚本文件代码如下:#!/bin/bashech...
    99+
    2023-06-09
  • 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
  • SpringBoot应用线上重启脚本的命令详解
    查找应用进程PID杀死应用进程PID运行启动脚本 烦不烦啊,像我这么懒得人 得想个办法一步搞定! 如下所示 新建一个shell脚本,然后将其运行之! #!/bin/sh #根据进程名...
    99+
    2024-04-02
  • 如何写个设置命令的VBS脚本代码
    这篇文章将为大家详细讲解有关如何写个设置命令的VBS脚本代码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。代码如下:'将以下代码复制并保存为"系统命令.VBS",并运行安装。 ...
    99+
    2023-06-08
  • linux常用脚本和命令分享
    这篇文章主要介绍“linux常用脚本和命令分享”,在日常操作中,相信很多人在linux常用脚本和命令分享问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux常用脚本和命令分享”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-13
  • 如何编写CentOS下redis自启动shell脚本
    这篇文章主要讲解了“如何编写CentOS下redis自启动shell脚本”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何编写CentOS下redis自启动shell脚本”吧!用这个脚本管理...
    99+
    2023-06-09
  • Linux 脚本编写基础知识以及在shell脚本中可以使用三类命令介绍
    本篇内容主要讲解“Linux 脚本编写基础知识以及在shell脚本中可以使用三类命令介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux 脚本编写基础知识以及在shell脚本中可以使用三...
    99+
    2023-06-09
  • linux怎么编写和执行shell脚本
    编写和执行Shell脚本的步骤如下:1. 打开一个文本编辑器,比如使用vi或者nano。2. 在第一行添加shebang,指定要使用...
    99+
    2023-09-22
    linux shell
  • Java怎么调用Shell命令和脚本
    这篇文章主要为大家展示了Java怎么调用Shell命令和脚本,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“Java怎么调用Shell命令和脚本”这篇文章吧。Java可以用来干什么Java主要应用于...
    99+
    2023-06-06
  • 如何编写Shell脚本实现温和方式重启Centos系统
    本篇内容介绍了“如何编写Shell脚本实现温和方式重启Centos系统”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!主要目的是用于重启后台比...
    99+
    2023-06-09
  • 怎么编写awk脚本统计一组单词中字母出现频率
    本篇内容主要讲解“怎么编写awk脚本统计一组单词中字母出现频率”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么编写awk脚本统计一组单词中字母出现频率”吧!Linux 系统在 /usr/sha...
    99+
    2023-06-29
  • 如何编写shell脚本实现tomcat定时重启
    小编给大家分享一下如何编写shell脚本实现tomcat定时重启,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!于是我上网找了一些教程编写了一个简单的每天定时启动 ...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作