awk简介与学习笔记收集第3/3页

yizhihongxing

首先,awk是一种经典的的文本处理工具,使用广泛。为了更好地掌握awk,我们需要了解其基本原理以及常用的语法。

一、基本原理

awk其实是一种编程语言,它的基本原理就是从文件或输入流一行一行地读取数据,然后按照指定的规则进行处理。这里的规则是指一个程序或脚本,也就是awk语言的代码。

二、常用语法

  1. 基本语法

awk程序的基本格式如下:

awk '条件1{动作1} 条件2{动作2} 条件3{动作3} ...' 文件名

解释一下这个语法:

  • awk是命令名称;
  • 条件和动作都是可选的;
  • 每个条件可以对应一个或多个动作;
  • 条件可以是正则表达式,也可以是比较运算符等。

  • 内置变量

awk还有一些内置变量,这些变量可以用在awk程序中,常用的内置变量如下:

  • $0:表示整行内容;
  • $1、$2、$3 等:表示当前行的第1列、第2列、第3列……;
  • NF:表示当前行的总列数;
  • NR:表示当前行的行号;
  • FS:表示列分隔符,默认为“空格”符;
  • RS:表示行分隔符,默认为“回车”符。

  • 示例说明

示例1:筛选出文件中包含“hello”的行。

代码如下:

awk '/hello/' file.txt

解释一下这个代码:其中的“/hello/”是一个正则表达式,表示文件内容中包含“hello”的行。所以此代码的意思是:在file.txt文件中筛选出包含“hello”的行。

示例2:统计文件有多少行、多少字符、多少单词。

代码如下:

awk '{lines++} {chars+=length($0)} {words+=NF} END{print "总行数:" lines; print "总字符数:" chars; print "总单词数:" words}' file.txt

解释一下这个代码:当awk命令执行时,每一行都会按顺序执行三段代码:第一段将行数加1,第二段将字符数累加,第三段将单词数累加。最后,使用END语句输出总行数、总字符数和总单词数。

三、学习笔记收集

笔者收集了一些关于awk的学习笔记,以下是其中的几条:

  • awk内置函数:gsub、match、substr、split 等;
  • awk运算符:算术运算符、比较运算符、逻辑运算符等;
  • awk实践技巧:如何匹配文本中的一段特定字符串;
  • awk的常见错误:打印内容不对、拼写错误等。

以上就是awk的简介及学习笔记收集。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:awk简介与学习笔记收集第3/3页 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • PHP实现的杨辉三角求解算法分析

    下面是详细的攻略: 1. 杨辉三角的定义 杨辉三角,是二项式系数在三角形中的一种几何排列。二项式系数,就是把一个二项式的n次方展开后,各项的系数,被称为二项式系数。在Pascal三角形的形式中,每个数是他左上方和右上方的数之和。 下面是一个图示: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 2. PHP实现杨辉三角…

    PHP 2023年5月26日
    00
  • 用PHP中的 == 运算符进行字符串比较

    使用PHP中的==运算符可以判断两个字符串是否相等。在进行字符串比较时,==运算符还会自动进行类型转换。下面是使用PHP中的==运算符进行字符串比较的完整攻略: 情况1:比较两个相同的字符串,例如: $str1 = "hello"; $str2 = "hello"; if ($str1 == $str2) { echo…

    PHP 2023年5月26日
    00
  • php Trait基类use trait,本类不use

    一 回顾trait使用 https://blog.csdn.net/bushuwei/article/details/103514174发现之前本人说明很模糊,自己居然不知道为什么其实这里的$c,就是class B再次回顾逻辑 二 分析 self和static区别说的没毛病 Trait基类use trait,本类不use。那么如果用的new self,则你n…

    PHP 2023年4月17日
    00
  • php让图片可以下载的代码

    下面是 PHP 实现图片下载的完整攻略。 第一步:确定需要下载的图片地址 在 PHP 中,我们可以利用 $_GET 变量获取请求参数,例如可以这样获取图片地址: $ImageUrl = $_GET["url"]; 第二步:获取图片信息并设置 HTTP 头 获取图片信息需要使用 getimagesize 函数,代码示例如下: header(…

    PHP 2023年5月23日
    00
  • php数组函数序列之next() – 移动数组内部指针到下一个元素的位置,并返回该元素值

    PHP数组函数之next() 在PHP里有一系列用于操作数组的函数,其中之一是next()函数。本文将详细讲解next()函数的用法及注意点。 概述 next()函数指从当前指针所在位置向后移动一位,并返回该数组元素的值。如果next()的参数是一个空数组或指向数组末尾,则返回false。 语法如下: mixed next ( array &$arr…

    PHP 2023年5月26日
    00
  • php实现将二维关联数组转换成字符串的方法详解

    让我详细讲解一下“php实现将二维关联数组转换成字符串的方法详解”。 什么是二维关联数组? 在 PHP 中,二维关联数组是指一个嵌套数组,其中每个内部数组都是关联数组(即用字符串作为键名的数组)。例如: $array = array( array(‘name’ => ‘John’, ‘age’ => 25), array(‘name’ =>…

    PHP 2023年5月26日
    00
  • PHP Streams(流)详细介绍及使用

    PHP Streams(流)详细介绍及使用攻略 什么是PHP Streams? 在PHP中,所有的输入和输出都是使用Stream(流)来处理的。流是一种常见的数据传输方法,可以处理各种不同类型的数据。PHP中的流可以用来完成网络编程、操作文件、执行系统命令等各种任务。 如何使用PHP Streams? 打开流和读取流 在PHP中,我们使用fopen()函数来…

    PHP 2023年5月26日
    00
  • php实现将数组或对象写入到文件的方法小结【三种方法】

    下面是关于“php实现将数组或对象写入到文件的方法小结【三种方法】”的完整攻略: 1. 使用serialize()和file_put_contents()函数 可以使用PHP内置的serialize()函数将数组或对象序列化成字符串,然后通过file_put_contents()函数将字符串写入到文件中。 $data = [‘name’ => ‘Joh…

    PHP 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部