iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >Linux怎么过滤文本或文件中字符串
  • 191
分享到

Linux怎么过滤文本或文件中字符串

2023-06-28 12:06:44 191人浏览 独家记忆
摘要

本篇内容介绍了“linux怎么过滤文本或文件中字符串”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是正则表达式? 正则表达式可以定义为代

本篇内容介绍了“linux怎么过滤文本或文件中字符串”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Linux怎么过滤文本或文件中字符串

什么是正则表达式?

Linux怎么过滤文本或文件中字符串 正则表达式可以定义为代表若干个字符序列的字符串。它最重要的功能之一就是它允许你过滤一条命令或一个文件的输出、编辑文本或配置文件的一部分等等。

正则表达式的特点

正则表达式由以下内容组合而成:

  • 普通字符,例如空格、下划线、A-Z、a-z、0-9。

  • 可以扩展为普通字符的

    元字符

    ,它们包括:

    • (.) 它匹配除了换行符外的任何单个字符。

    • (*) 它匹配零个或多个在其之前紧挨着的字符。

    • [ character(s) ] 它匹配任何由其中的字符/字符集指定的字符,你可以使用连字符(-)代表字符区间,例如 [a-f]、[1-5]等。

    • ^ 它匹配文件中一行的开头。

    • $ 它匹配文件中一行的结尾。

    • / 这是一个转义字符。

你必须使用类似 awk 这样的文本过滤工具来过滤文本。你还可以把 awk 自身当作一个编程语言。但由于这个指南的适用范围是关于使用 awk 的,我会按照一个简单的命令行过滤工具来介绍它。

awk 的一般语法如下:

 # awk 'script' filename

此处 ‘script’ 是一个由 awk 可以理解并应用于 filename 的命令集合

它通过读取文件中的给定行,复制该行的内容并在该行上执行脚本的方式工作。这个过程会在该文件中的所有行上重复。

该脚本 ‘script’ 中内容的格式是 ‘/pattern/ action’,其中 pattern 是一个正则表达式,而 action 是当 awk 在该行中找到此模式时应当执行的动作。

如何在 Linux 中使用 awk 过滤工具

在下面的例子中,我们将聚焦于之前讨论过的元字符。

一个使用 awk 的简单示例:

下面的例子打印文件 /etc/hosts 中的所有行,因为没有指定任何的模式。

 # awk '//{print}' /etc/hosts

Linux怎么过滤文本或文件中字符串

awk 打印文件中的所有行

结合模式使用 awk

在下面的示例中,指定了模式 localhost,因此 awk 将匹配文件 /etc/hosts 中有 localhost 的那些行。

 # awk '/localhost/{print}' /etc/hosts

Linux怎么过滤文本或文件中字符串

awk 打印文件中匹配模式的行

在 awk 模式中使用通配符 (.)

在下面的例子中,符号 (.) 将匹配包含 loc、localhost、localnet 的字符串。

这里的正则表达式的意思是匹配 l一个字符c

 # awk '/l.c/{print}' /etc/hosts

Linux怎么过滤文本或文件中字符串

使用 awk 打印文件中匹配模式的字符串

在 awk 模式中使用字符 (*)

在下面的例子中,将匹配包含 localhost、localnet、lines, capable 的字符串。

 # awk '/l*c/{print}' /etc/localhost

Linux怎么过滤文本或文件中字符串

使用 awk 匹配文件中的字符串

你可能也意识到 (*) 将会尝试匹配它可能检测到的最长的匹配。

让我们看一看可以证明这一点的例子,正则表达式 t*t 的意思是在下面的行中匹配以 t 开始和 t 结束的字符串:

 this is tecmint, where you get the best Good tutorials, how to's, guides, tecmint.

当你使用模式 /t*t/ 时,会得到如下可能的结果:

 this is t this is tecmint this is tecmint, where you get t this is tecmint, where you get the best good t this is tecmint, where you get the best good tutorials, how t this is tecmint, where you get the best good tutorials, how tos, guides, t this is tecmint, where you get the best good tutorials, how tos, guides, tecmint

在 /tt/ 中的通配符 () 将使得 awk 选择匹配的最后一项:

 this is tecmint, where you get the best good tutorials, how to's, guides, tecmint

结合集合 [ character(s) ] 使用 awk

以集合 [al1] 为例,awk 将匹配文件 /etc/hosts 中所有包含字符 a 或 l 或 1 的字符串。

 # awk '/[al1]/{print}' /etc/hosts

Linux怎么过滤文本或文件中字符串

使用 awk 打印文件中匹配的字符

下一个例子匹配以 K 或 k 开始头,后面跟着一个 T 的字符串:

 # awk '/[Kk]T/{print}' /etc/hosts

Linux怎么过滤文本或文件中字符串

使用 awk 打印文件中匹配的字符

以范围的方式指定字符

awk 所能理解的字符:

  • [0-9] 代表一个单独的数字

  • [a-z] 代表一个单独的小写字母

  • [A-Z] 代表一个单独的大写字母

  • [a-zA-Z] 代表一个单独的字母

  • [a-zA-Z 0-9] 代表一个单独的字母或数字

让我们看看下面的例子:

 # awk '/[0-9]/{print}' /etc/hosts

Linux怎么过滤文本或文件中字符串

使用 awk 打印文件中匹配的数字

在上面的例子中,文件 /etc/hosts 中的所有行都至少包含一个单独的数字 [0-9]。

结合元字符 (^) 使用 awk

在下面的例子中,它匹配所有以给定模式开头的行:

 # awk '/^fe/{print}' /etc/hosts # awk '/^ff/{print}' /etc/hosts

Linux怎么过滤文本或文件中字符串

使用 awk 打印与模式匹配的行

结合元字符 ($) 使用 awk

它将匹配所有以给定模式结尾的行:

 # awk '/ab$/{print}' /etc/hosts # awk '/ost$/{print}' /etc/hosts # awk '/rs$/{print}' /etc/hosts

Linux怎么过滤文本或文件中字符串

使用 awk 打印与模式匹配的字符串

结合转义字符 (/) 使用 awk

它允许你将该转义字符后面的字符作为文字,即理解为其字面的意思。

在下面的例子中,第一个命令打印出文件中的所有行,第二个命令中我想匹配具有 $25.00 的一行,但我并未使用转义字符,因而没有打印出任何内容。

第三个命令是正确的,因为一个这里使用了一个转义字符以转义 ,以将其识别为‘(而非元字符)。

 # awk '//{print}' deals.txt # awk '/$25.00/{print}' deals.txt # awk '//$25.00/{print}' deals.txt

Linux怎么过滤文本或文件中字符串

“Linux怎么过滤文本或文件中字符串”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Linux怎么过滤文本或文件中字符串

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

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

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

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

下载Word文档
猜你喜欢
  • Linux怎么过滤文本或文件中字符串
    本篇内容介绍了“Linux怎么过滤文本或文件中字符串”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是正则表达式 正则表达式可以定义为代表...
    99+
    2023-06-28
  • 利用java怎么过滤字符串中的中文
    利用java怎么过滤字符串中的中文?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.判断字符串中是否包含中文方法封装public static boolean isContai...
    99+
    2023-05-31
    java 字符串 ava
  • linux怎么在文件中提取字符串
    在Linux中,你可以使用以下命令来提取文件中的字符串:1. grep命令:grep命令可以在文件中查找匹配给定模式的字符串,并将其...
    99+
    2023-10-08
    linux
  • Linux怎么过滤空文件
    这篇文章将为大家详细讲解有关Linux怎么过滤空文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在Linux中有经常做文件的操作,今天有个同事在生产环境统计数据,发现有很多日志文件都是空的,文件太多了,...
    99+
    2023-06-12
  • linux怎么对文本或输出内容进行过滤
    这篇文章主要讲解了“linux怎么对文本或输出内容进行过滤”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux怎么对文本或输出内容进行过滤”吧!在linux中经常需要对文本或输出内容进行...
    99+
    2023-06-09
  • Python中怎么过滤字符串列表
    今天就跟大家聊聊有关Python中怎么过滤字符串列表,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。使用另一个列表过滤字符串列表本示例说明了如何在不使用任何方法的情况下过滤字符串列表中...
    99+
    2023-06-16
  • idea中怎么全局搜索class文件或字符串
    这篇文章主要介绍了idea中怎么全局搜索class文件或字符串的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇idea中怎么全局搜索class文件或字符串文章都会有所收获,下面我们一起来看看吧。idea全局搜索c...
    99+
    2023-07-05
  • 怎么用Awk模式筛选文本或字符串
    这篇“怎么用Awk模式筛选文本或字符串”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用Awk模式筛选文本或字符串”文章吧...
    99+
    2023-06-27
  • python编写过滤指定字符的文本
    #!/usr/bin/python #coding:utf-8 import os  import string import sys, getopt def Grep_start_char(Mpath, char):    ...
    99+
    2023-01-31
    字符 文本 python
  • 使用Java怎么将字符串写入文本文件
    今天就跟大家聊聊有关使用Java怎么将字符串写入文本文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、Filewriter与File——-将字符串写入文本文件public&nbs...
    99+
    2023-05-30
    java 字符串
  • linux如何替换文本中的字符串
    在Linux中,可以使用`sed`命令来替换文本中的字符串。`sed`命令的基本语法如下:```sed 's/要替换的字符串...
    99+
    2023-10-08
    linux
  • linux怎么搜索文件里的字符串
    要在Linux中搜索文件中的字符串,你可以使用`grep`命令。`grep`命令用于在文件中搜索指定的模式,然后返回匹配的行。下面是...
    99+
    2023-09-27
    linux
  • Linux中怎么统计文件中指定字符串个数
    Linux中怎么统计文件中指定字符串个数,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。方法1: grepgrep -o ‘keyword&rsq...
    99+
    2023-06-13
  • linux如何替换文件中的字符串
    这篇文章主要为大家展示了“linux如何替换文件中的字符串”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux如何替换文件中的字符串”这篇文章吧。在linux中,可以利用sed命令来查找和替...
    99+
    2023-06-29
  • linux怎么查看文件内容过滤
    在Linux中,可以使用以下命令来查看文件内容并进行过滤: cat命令:用于查看文件内容。例如,cat filename将打印出...
    99+
    2024-02-29
    linux
  • java过滤器怎么指定过滤文件
    在Java中,可以使用`javax.swing.filechooser.FileNameExtensionFilter`类来指定过滤...
    99+
    2023-10-11
    java
  • linux怎么统计文件中字符串出现的次数
    在Linux中,可以使用`grep`命令来统计文件中字符串出现的次数。具体的命令格式如下: grep -o "字符串" 文件名 | ...
    99+
    2023-10-27
    linux
  • Linux下怎么删除乱码或特殊字符文件
    这篇文章将为大家详细讲解有关Linux下怎么删除乱码或特殊字符文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Linux下如何删除乱码或特殊字符文件?今天遇到一个问题,一个文件名是“-MXV9.log”...
    99+
    2023-06-28
  • java怎么替换文件中的字符串
    Java中替换文件中的字符串可以使用以下步骤:1. 打开要进行替换的文件。2. 读取文件内容。3. 使用`String`的`repl...
    99+
    2023-09-20
    java
  • FileZilla中文件过滤器怎么用
    这篇文章主要为大家展示了“FileZilla中文件过滤器怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“FileZilla中文件过滤器怎么用”这篇文章吧。FileZilla过滤器功能简单的说...
    99+
    2023-06-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作