您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > linux百科

Linux命令行组合:grep和wc命令的强大用法

时间:2023-09-07 12:39:31  来源:微信公众号  作者:微技术之家

linux grep (global regular expression) 命令用于查找文件里符合条件的字符串或正则表达式。grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。

Linux命令行工具中的grep和wc命令是一个非常强大的组合,可以用于在文件集合中搜索匹配特定模式的行并计算匹配行数。

常见用法:

# 查找某文件夹下所有文件中某个字符的个数grep 'xxx' * | wc -l# 查看某文件夹下文件的个数ls -l |grep "^-"|wc -l# 或find ./company -type f | wc -l# 查看某文件夹下文件的个数,包括子文件夹里的。ls -lR|grep "^-"|wc -l# 查看某文件夹下文件夹的个数,包括子文件夹里的。ls -lR|grep "^d"|wc -l

以上内容说明如下:

ls -l

长列表输出该目录下文件信息(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等)

grep "^-"

这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d

wc -l

统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于一行信息对应一个文件,所以也就是文件的个数。

下面举几个详细的例子来说明这个组合的用法。

例1:搜索文件中包含特定字符串的行数

假设我们有一个包含一些文本文件的目录,我们想要知道每个文件中包含特定字符串的行数。我们可以使用以下命令:

  • grep -r "search_string" ./ | wc -l

这个命令会递归地搜索当前目录下的所有文件,查找包含"search_string"的行,并使用wc命令计算匹配的行数。输出结果将显示每个文件中匹配的行数。

例2:搜索文件中不包含特定字符串的行数

有时候我们可能想要搜索文件中不包含特定字符串的行数。这可以通过使用grep命令的-v选项来实现。例如:

  • grep -v "exclude_string" * | wc -l

递归搜索当前目录下的所有文件,查找不包含"exclude_string"的行,并计算匹配的行数。输出结果将显示所有文件中不包含"exclude_string"的行数。

例3:搜索文件中包含特定模式的行数

除了搜索具体的字符串,我们还可以使用正则表达式来搜索匹配特定模式的行。例如:

  • grep -E "pattern1|pattern2" * | wc -l

递归搜索当前目录下的所有文件,查找匹配"pattern1"或"pattern2"的行,并计算匹配的行数。输出结果将显示所有文件中匹配模式的行数。

这些例子只是grep和wc命令组合的一小部分用法。通过结合不同的选项和参数,我们可以实现更复杂的搜索和计数任务。

图片

下面再举几个更复杂的例子来说明grep和wc命令的组合用法。

例4:搜索文件中匹配多个关键字的行数

如果我们想要搜索文件中同时匹配多个关键字的行数,我们可以使用grep命令的-E选项来实现多个选项间的逻辑“AND”关系。例如:

  • grep -E "keyword1|keyword2|keyword3" * | wc -l

递归搜索当前目录下的所有文件,查找同时包含"keyword1"、"keyword2"和"keyword3"的所有行,并计算匹配的行数。输出结果将显示所有文件中同时匹配所有关键字的行数。

例5:搜索文件中匹配模式的行并重定向到指定文件

我们可以将grep命令的输出重定向到指定文件中,以便将匹配的行保存到文件中进行进一步处理。例如:

  • grep "search_string" ./ | wc -l > output.txt

递归搜索当前目录下的所有文件,查找包含"search_string"的行,并使用wc命令计算匹配的行数。然后,将输出结果重定向到名为"output.txt"的文件中。

例6:搜索文件中匹配模式的行并输出匹配行的行号

我们可以使用grep命令的-n选项来输出匹配行的行号。例如:

  • grep -n "search_string" ./

递归搜索当前目录下的所有文件,查找包含"search_string"的行,并输出匹配行的行号。

这些例子展示了grep和wc命令组合的更多用法和功能。根据不同的需求,我们可以灵活运用这些选项和参数来满足特定的搜索和计数任务。

 


Tags:Linux命令   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
如何使用PHP SSH2模块执行远程Linux命令
PHP SSH2扩展是用于在PHP程序中使用SSH(安全壳协议)的一种扩展。它允许建立加密连接和执行远程命令、上传和下载文件等操作,十分方便实用。下面我将为大家详细介绍一下该扩展的...【详细内容】
2024-01-26  Search: Linux命令  点击:(99)  评论:(0)  加入收藏
linux命令查看机器的配置
在 Linux 系统中,你可以使用多个命令来查看当前机器的配置信息,包括 CPU、内存、磁盘和操作系统等信息。以下是一些常用的命令:1. 查看 CPU 信息 lscpu:显示 CPU 架构信息,如型号...【详细内容】
2024-01-16  Search: Linux命令  点击:(70)  评论:(0)  加入收藏
使用Linux命令行传递环境变量给Docker容器
在Linux命令行中,可以使用-e选项来传递环境变量给Docker容器。这样,我们可以在运行容器的同时设置特定的环境变量,以满足应用程序的需求。下面将详细介绍如何使用Linux命令行传...【详细内容】
2023-12-12  Search: Linux命令  点击:(158)  评论:(0)  加入收藏
4种使用Linux命令查询MySQL的高效方法
在Linux中执行MySQL查询是后端或DevOps开发人员的必备技能。本文总结在bash脚本或Linux命令行界面中运行MySQL查询的四种方法,以便开发人员能够更好地处理MySQL数据库。同时...【详细内容】
2023-11-04  Search: Linux命令  点击:(94)  评论:(0)  加入收藏
Linux命令行组合:grep和wc命令的强大用法
Linux grep (global regular expression) 命令用于查找文件里符合条件的字符串或正则表达式。grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指...【详细内容】
2023-09-07  Search: Linux命令  点击:(267)  评论:(0)  加入收藏
防止误删除文件/目录:深入探索Linux命令chattr
在Linux系统中,文件和目录的管理是日常操作中的一个重要部分。然而,误删除文件或目录可能会导致严重的数据丧失和系统问题。为了防止这种情况的发生,Linux系统提供了一系列的方...【详细内容】
2023-08-30  Search: Linux命令  点击:(366)  评论:(0)  加入收藏
你也应该知道的10个Linux命令
Linux当中有很多比较有趣的命令,可以动手看看,很简单的。1、rev命令一行接一行地颠倒所输入的字符串。运行:$rev如输入:shiyanloushiyanlou2、asciiview命令1)先安装aview$sudo...【详细内容】
2023-08-30  Search: Linux命令  点击:(356)  评论:(0)  加入收藏
Linux命令行之top命令详解
概述top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,其作用类似于windows系统中的任务管理器。 top命令可以动态显示系统的负载情况,本文将详...【详细内容】
2023-07-25  Search: Linux命令  点击:(222)  评论:(0)  加入收藏
Linux命令中特殊符号
在shell中常用的特殊符号罗列如下:# ; ;; . , / \ 'string' | ! $ ${} $? $$ $* "string" * ** ? : ^ $# $@ `command` {} [] [[]] () (()) || && {xx,yy,zz,...}~ ~...【详细内容】
2022-09-28  Search: Linux命令  点击:(565)  评论:(0)  加入收藏
十大可以摧毁你的linux命令
1、rm -rf /*它将开始递归地删除根目录下的所有文件,在一段时间后,你的系统会冻结,并显示“删除文件错误”。一旦重新启动,你将被送到 grub-rescue 提示符下。2、echo “hello”...【详细内容】
2022-09-27  Search: Linux命令  点击:(479)  评论:(0)  加入收藏
▌简易百科推荐
微软 Win11 Linux 子系统(WSL)发布 2.2.2 版本
IT之家 4 月 8 日消息,微软近日更新 Windows Subsystem for Linux(WSL),最新 2.2.2 版本中带来了诸多改进,重点更新了 nft 规则,可以让 IPv6 流量通过 Linux 容器。图源: dev.to,AI...【详细内容】
2024-04-08    IT之家  Tags:Linux   点击:(5)  评论:(0)  加入收藏
从原理到实践:深入探索Linux安全机制
Linux 是一种开源的类Unix操作系统内核,由Linus Torvalds在1991年首次发布,其后又衍生出许多不同的发行版(如Ubuntu、Debian、CentOS等)。前言本文将从用户和权限管理、文件系统...【详细内容】
2024-03-27  凡夫编程  微信公众号  Tags:Linux安全   点击:(13)  评论:(0)  加入收藏
在Linux系统中,如何处理内存管理和优化的问题?
本文对 Linux 内存管理和优化的一些高级技巧的详细介绍,通过高级的内存管理技巧,可以帮助系统管理员和开发人员更好地优化 Linux 系统的内存使用情况,提高系统性能和稳定性。在...【详细内容】
2024-03-26  编程技术汇  微信公众号  Tags:Linux   点击:(7)  评论:(0)  加入收藏
Linux 6.9-rc1 内核发布:AMD P-State 首选核心、BH 工作队列
IT之家 3 月 25 日消息,Linus Torvalds 宣布,Linux 6.9 内核的首个 RC(候选发布)版 Linux 6.9-rc1 发布。▲ Linux 6.9-rc1Linus 表示,Linux 内核 6.9 看起来是一个“相当正常”...【详细内容】
2024-03-25    IT之家  Tags:Linux   点击:(9)  评论:(0)  加入收藏
轻松实现Centos系统的软件包安装管理:yum指令实战详解
yum 是一种用于在 CentOS、Red Hat Enterprise Linux (RHEL) 等基于 RPM 的 Linux 发行版上安装、更新和管理软件包的命令行工具。它可以自动解决软件包依赖关系,自动下载并...【详细内容】
2024-02-27  凡夫贬夫  微信公众号  Tags:Centos   点击:(51)  评论:(0)  加入收藏
Win + Ubuntu 缝合怪:第三方开发者推出“Wubuntu”Linux 发行版
IT之家 2 月 26 日消息,一位第三方开发者推出了一款名为“Wubuntu”的缝合怪 Linux 发行版,系统本身基于 Ubuntu,但界面为微软 Windows 11 风格,甚至存在微软 Windows 徽标。据...【详细内容】
2024-02-27    IT之家  Tags:Ubuntu   点击:(47)  评论:(0)  加入收藏
Linux中磁盘和文件系统工作原理解析
在Linux系统中,一切皆文件的概念意味着所有的资源,包括普通文件、目录以及设备文件等,都以文件的形式存在。这种统一的文件系统管理方式使得Linux系统具有高度的灵活性和可扩展...【详细内容】
2024-02-20  王建立    Tags:Linux   点击:(49)  评论:(0)  加入收藏
Linux子系统概览
inux操作系统是一个模块化的系统,由多个子系统组成。这些子系统协同工作,使Linux能够执行各种任务。了解Linux的子系统有助于更好地理解整个操作系统的运作机制。以下是Linux...【详细内容】
2024-02-01    简易百科  Tags:Linux   点击:(74)  评论:(0)  加入收藏
Linux内核:系统之魂与交互之源
内核,作为任何基于Linux的操作系统的心脏,扮演着至关重要的角色。它不仅是计算机系统软件与硬件之间的桥梁,更是确保系统稳定、高效运行的关键。内核提供了一系列核心功能,为上...【详细内容】
2024-02-01  松鼠宝贝    Tags:Linux内核   点击:(65)  评论:(0)  加入收藏
如何确保Linux进程稳定与持久
在Linux系统中,进程的稳定性与持久性对于维持系统的持续运行至关重要。然而,由于各种原因,进程可能会面临崩溃或系统重启的情况。为了确保关键进程能够持续运行,我们必须采取一...【详细内容】
2024-01-19  松鼠宝贝    Tags:Linux进程   点击:(84)  评论:(0)  加入收藏
站内最新
站内热门
站内头条