返回顶部
首页 > 资讯 > 精选 >怎么用Awk模式筛选文本或字符串
  • 836
分享到

怎么用Awk模式筛选文本或字符串

2023-06-27 13:06:35 836人浏览 泡泡鱼
摘要

这篇“怎么用Awk模式筛选文本或字符串”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用Awk模式筛选文本或字符串”文章吧

这篇“怎么用Awk模式筛选文本或字符串”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用Awk模式筛选文本或字符串”文章吧。

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

怎么用Awk模式筛选文本或字符串

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

$ cat food_prices.listNo  Item_Name       Quantity    Price1   ManGoes            10       $2.452   Apples             20       $1.503   Bananas            5        $0.904   Pineapples         10       $3.465   Oranges            10       $0.786   Tomatoes           5        $0.557   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-1]/.0-9 */ 将查找那些食物单价小于 $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模式筛选文本或字符串

使用 Awk 和 Printf 来筛选和输出项目

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

$ awk '/ */$[2-9]/.[0-9][0-9] */ { print $0 "*" ; } / */$[0-1]/.[0-9][0-9] */ { print ; }' food_prices.list
怎么用Awk模式筛选文本或字符串

使用 Awk 和变量来筛选和输出项目

以上就是关于“怎么用Awk模式筛选文本或字符串”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: 怎么用Awk模式筛选文本或字符串

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

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

猜你喜欢
  • 怎么用Awk模式筛选文本或字符串
    这篇“怎么用Awk模式筛选文本或字符串”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用Awk模式筛选文本或字符串”文章吧...
    99+
    2023-06-27
  • 如何使用awk按模式筛选文本或字符串
    这篇文章主要介绍如何使用awk按模式筛选文本或字符串,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在筛选文本时,有时你可能想根据某个给定的条件或使用一个可被匹配的特定模式,去标记某个文件或数行字符串中的某几行。使用 ...
    99+
    2023-06-10
  • Linux怎么过滤文本或文件中字符串
    本篇内容介绍了“Linux怎么过滤文本或文件中字符串”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是正则表达式 正则表达式可以定义为代表...
    99+
    2023-06-28
  • C#中模式字符串怎么用
    这篇文章主要介绍了C#中模式字符串怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。利用正则表达式实现字符串搜索,在C#中使用.NET一般表达式引擎下面将通过一个样例的开发...
    99+
    2023-06-18
  • linux中怎么使用awk截取字符串
    在Linux中,可以使用awk命令来截取字符串。awk是一种强大的文本处理工具,它可以按照指定的字段分隔符将文本行分割为多个字段,并...
    99+
    2023-09-16
    linux awk
  • 使用Pandas怎么筛选特定的字符
    本篇文章为大家展示了使用Pandas怎么筛选特定的字符,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。if判断+列表解析式[x for x in df.colu...
    99+
    2023-06-07
  • linux 中怎么使用awk命令连接字符串
    本篇文章为大家展示了linux 中怎么使用awk命令连接字符串,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、awk字符串转数字 [chengmo@centos5 ~]$ awk 'BEG...
    99+
    2023-06-13
  • 怎么使用linux中的awk命令截取字符串
    在Linux中,使用awk命令可以很方便地截取字符串。具体的语法是:```shellawk '{print substr(...
    99+
    2023-09-27
    linux
  • 使用Java怎么将字符串写入文本文件
    今天就跟大家聊聊有关使用Java怎么将字符串写入文本文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、Filewriter与File——-将字符串写入文本文件public&nbs...
    99+
    2023-05-30
    java 字符串
  • javascript模板字符串怎么使用
    这篇文章主要讲解了“javascript模板字符串怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript模板字符串怎么使用”吧! ...
    99+
    2024-04-02
  • matlab怎么把字符串存成txt文本
    要将字符串存储为txt文本文件,可以使用MATLAB中的fprintf函数来实现。以下是一个示例代码: str = 'He...
    99+
    2024-03-01
    matlab
  • idea中怎么全局搜索class文件或字符串
    这篇文章主要介绍了idea中怎么全局搜索class文件或字符串的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇idea中怎么全局搜索class文件或字符串文章都会有所收获,下面我们一起来看看吧。idea全局搜索c...
    99+
    2023-07-05
  • Java格式字符串怎么使用
    这篇“Java格式字符串怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java格式字符串怎么使用”文章吧。Class...
    99+
    2023-06-29
  • Python怎么利用base64库解码本地txt文本字符串
    这篇文章主要介绍“Python怎么利用base64库解码本地txt文本字符串”,在日常操作中,相信很多人在Python怎么利用base64库解码本地txt文本字符串问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答...
    99+
    2023-06-14
  • Python怎么将字符串转换为大写或小写形式
    Python中可以使用字符串的方法upper()和lower()来将字符串转换为大写和小写形式。 示例代码: string = &q...
    99+
    2024-03-02
    Python
  • 使用awk怎么输出文本中的字段和列
    这期内容当中小编将会给大家带来有关使用awk怎么输出文本中的字段和列,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。例 1:我创建了一个名为 tecmintinfo.txt 的文本文件。# vi tecmi...
    99+
    2023-06-12
  • plsql文本导入字符串太长怎么解决
    如果PL/SQL文本导入字符串过长,可以考虑以下几种解决方法: 分解字符串:将较长的字符串拆分为多个较短的字符串,并分别导入。例...
    99+
    2024-02-29
    plsql
  • Pandas怎么使用分隔符或正则表达式将字符串拆分为多列
    这篇“Pandas怎么使用分隔符或正则表达式将字符串拆分为多列”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Pandas怎么...
    99+
    2023-07-05
  • python3怎么用f-strings格式化字符串
    这篇文章将为大家详细讲解有关python3怎么用f-strings格式化字符串,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。用f-strings格式化字符串(Python 3.6+)这是自Python &...
    99+
    2023-06-27
  • ES6新特性之模板字符串怎么用
    这篇文章主要介绍了ES6新特性之模板字符串怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体如下:ES6引入了一种新型的字符串字面量语...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作