返回顶部
首页 > 资讯 > 精选 >如何使用awk按模式筛选文本或字符串
  • 581
分享到

如何使用awk按模式筛选文本或字符串

2023-06-10 02:06:38 581人浏览 泡泡鱼
摘要

这篇文章主要介绍如何使用awk按模式筛选文本或字符串,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在筛选文本时,有时你可能想根据某个给定的条件或使用一个可被匹配的特定模式,去标记某个文件或数行字符串中的某几行。使用

这篇文章主要介绍如何使用awk按模式筛选文本或字符串,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

在筛选文本时,有时你可能想根据某个给定的条件或使用一个可被匹配的特定模式,去标记某个文件或数行字符串中的某几行。使用 awk 来完成这个任务是非常容易的,这也正是 awk 中可能对你有所帮助的几个功能之一。

如何使用awk按模式筛选文本或字符串

让我们看一看下面这个例子,比方说你有一个写有你想要购买的食物的购物清单,其名称为 food_prices.list,它所含有的食物名称及相应的价格如下所示:

$ cat food_prices.list No Item_Name Quantity Price 1 ManGoes 10 $2.45 2 Apples 20 $1.50 3 Bananas 5 $0.90 4 Pineapples 10 $3.46 5 Oranges 10 $0.78 6 Tomatoes 5 $0.55 7 ONIOns 5 $0.45

然后,你想使用一个 (*) 符号去标记那些单价大于 $2 的食物,那么你可以通过运行下面的命令来达到此目的:

$ awk '/ */$[2-9]/.[0-9][0-9] */ { print $1, $2, $3, $4, "*" ; } / */$[0-1]/.[0-9][0-9] */ { print ; }' food_prices.list

如何使用awk按模式筛选文本或字符串

打印出单价大于 $2 的项目

从上面的输出你可以看到在含有芒果和菠萝的那行末尾都已经有了一个 (*) 标记。假如你检查它们的单价,你可以看到它们的单价的确超过了 $2 。

在这个例子中,我们已经使用了两个模式:

第一个模式: / */$[2-9]/.[0-9][0-9] */ 将会得到那些含有食物单价大于 $2 的行。

第二个模式: 将查找那些食物单价小于 $2 的那些行。

上面的命令具体做了什么呢?这个文件有四个字段,当模式一匹配到含有食物单价大于 $2 的行时,它便会输出所有的四个字段并在该行末尾加上一个 (*) 符号来作为标记。

第二个模式只是简单地输出其他含有食物单价小于 $2 的行,按照它们出现在输入文件 food_prices.list 中的样子。

这样你就可以使用模式来筛选出那些价格超过 $2 的食物项目,尽管上面的输出还有些问题,带有 (*) 符号的那些行并没有像其他行那样被格式化输出,这使得输出显得不够清晰。

我们在 awk 系列的第二部分中也看到了同样的问题,但我们可以使用下面的两种方式来解决:

可以像下面这样使用 printf 命令,但这样使用又长又无聊:

$ awk '/ */$[2-9]/.[0-9][0-9] */ { printf "%-10s %-10s %-10s %-10s/n", $1, $2, $3, $4 "*" ; } / */$[0-1]/.[0-9][0-9] */ { printf "%-10s %-10s %-10s %-10s/n", $1, $2, $3, $4; }' food_prices.list

如何使用awk按模式筛选文本或字符串

使用 $0 字段。Awk 使用变量 0 来存储整个输入行。对于上面的问题,这种方式非常方便,并且它还简单、快速:

$ awk '/ */$[2-9]/.[0-9][0-9] */ { print $0 "*" ; } / */$[0-1]/.[0-9][0-9] */ { print ; }' food_prices.list

如何使用awk按模式筛选文本或字符串

以上是“如何使用awk按模式筛选文本或字符串”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: 如何使用awk按模式筛选文本或字符串

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

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

猜你喜欢
  • 如何使用awk按模式筛选文本或字符串
    这篇文章主要介绍如何使用awk按模式筛选文本或字符串,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在筛选文本时,有时你可能想根据某个给定的条件或使用一个可被匹配的特定模式,去标记某个文件或数行字符串中的某几行。使用 ...
    99+
    2023-06-10
  • 怎么用Awk模式筛选文本或字符串
    这篇“怎么用Awk模式筛选文本或字符串”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用Awk模式筛选文本或字符串”文章吧...
    99+
    2023-06-27
  • 如何理解awk取文本中两个字符串之间的部分
    今天就跟大家聊聊有关如何理解awk取文本中两个字符串之间的部分,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。[oracle@irac01 scripts]$ cat cutt.txt...
    99+
    2023-06-06
  • ES6之模版字符串如何使用
    本篇内容主要讲解“ES6之模版字符串如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ES6之模版字符串如何使用”吧!1.之前我们也可以使用JavaScri...
    99+
    2024-04-02
  • 如何使用ByteArrayOutputStream写入字符串方式
    如何使用ByteArrayOutputStream写入字符串方式,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。使用ByteArrayOutputStream写入...
    99+
    2023-06-22
  • 如何使用JavaScript将普通字符串转换为HTML文本
    二、JavaScript中的字符串转HTML在JavaScript中,可以使用正则表达式和字符串替换来将字符串转换为HTML格式。方法一:使用正则表达式以下是将字符串转换为HTML格式的JavaScript代码,使用了正则表达式和字符串替换...
    99+
    2023-05-14
  • 如何使用Python中的字符串操作函数处理大规模文本数据
    如何使用Python中的字符串操作函数处理大规模文本数据,需要具体代码示例随着互联网的快速发展和数据的不断增加,大规模文本数据处理成了现代科技中的一个重要课题。Python作为一门简单易学且功能强大的编程语言,提供了丰富的字符串操作函数,能...
    99+
    2023-10-22
    字符串操作 Python编程 大规模数据
  • JavaScript模板字符串是什么及如何使用
    今天小编给大家分享一下JavaScript模板字符串是什么及如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.什么是...
    99+
    2023-07-04
  • 如何使用json字符串插入节点或者覆盖节点
    本篇内容介绍了“如何使用json字符串插入节点或者覆盖节点”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!json字符串插入节点或者覆盖节点j...
    99+
    2023-06-20
  • PHP中如何使用sprintf()函数格式化字符串
    本篇文章给大家分享的是有关PHP中如何使用sprintf()函数格式化字符串,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。语法: string sprintf(string f...
    99+
    2023-06-17
  • 如何使用Python中的字符串格式化技巧
    如何使用Python中的字符串格式化技巧在Python编程中,字符串格式化是一种非常重要的技巧。它可以让我们更加灵活地处理字符串,将变量插入到字符串中,或者指定字符串的特定格式。本文将介绍Python中常用的字符串格式化方法,并提供具体的代...
    99+
    2023-10-22
    Python 字符串 格式化 字符串格式化技巧:
  • 如何使用Python来进行查询和替换一个文本字符串
    这篇文章主要介绍如何使用Python来进行查询和替换一个文本字符串,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!如何用 Python 来进行查询和替换一个文本字符串?答:可以使用 r...
    99+
    2024-04-02
  • Java如何使用字符流读写非文本文件
    目录使用字符流读取文件(非文本)Base64编码base64编码简介编码规则编码方式的缺点Base64在 Java 里的应用将图片转为Base64字符串进行读写字符串转base64编...
    99+
    2023-05-15
    Java字符流 字符流读写非文本
  • Linux下如何使用md5加密字符串和文件
    小编给大家分享一下Linux下如何使用md5加密字符串和文件,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!MD5是message-digest algorithm 5(信息-摘要算法)的缩写,被广泛用于加密和解密技术上,它...
    99+
    2023-06-28
  • 如何使用PHP正则表达式剔除字符串中的特定字符
    正则表达式是一种用于匹配和处理文本的强大工具,可以在PHP中轻松地实现各种文本处理操作。在PHP中,可以使用preg_replace()函数来执行正则表达式替换操作。preg_replace()函数将源字符串作为第一个参数,正则表达式作为第...
    99+
    2023-05-14
  • 如何利用Python实现翻译HTML中的文本字符串
    本篇内容主要讲解“如何利用Python实现翻译HTML中的文本字符串”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何利用Python实现翻译HTML中的文本字符串”吧!相信大家都用过浏览器的翻...
    99+
    2023-07-02
  • Python如何使用print()函数输出格式化字符串
    目录前言格式化输出字符串类型的变量格式化输出整数型变量格式化输出浮点型变量格式化输出多个变量总结前言 print()函数用来将信息输出到控制台 如果希望输出文字信息的同时,一起输出数...
    99+
    2024-04-02
  • java中如何使用if语句判断字符串是否为空或null
    首先,区分空串和null串 空串""是长度为0的字符串,它有自己的串长度(0)和内容(空),判断一个字符串为空的方法:if (str.length() == 0);或if (str.equals(""));在线java学习视频教程推荐:ja...
    99+
    2018-10-22
    java if 判断 字符串 null
  • cmd中如何使用findstr在文件中寻找字符串
    小编给大家分享一下cmd中如何使用findstr在文件中寻找字符串,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在文件中寻找字符串。 代码如下:FINDSTR [...
    99+
    2023-06-08
  • 如何使用shell脚本FormattingLongLines格式化多行字符
    这期内容当中小编将会给大家带来有关如何使用shell脚本FormattingLongLines格式化多行字符,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。#1 Formatting Long Lines#...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作