【Linux】【命令】查找(grep/find)与统计(wc)

news2025/1/17 17:58:56

查找与统计

  • grep
  • find
  • wc
  • Examples


grep


grep 命令用于在文件中或者标准输出中搜索特定字符串,并显示匹配结果。

grep 全称:Global Regular Expression Print

基本语法

grep [OPTION]... PATTERN [FILE] ...
  1. 默认情况下,PATTERN 是一个基本正则表达式(Basic Regular Expression);
  2. 配合 | 可以在标准输出中进行字符串检索;

示例1

grep -i 'hello world' memu.h main.c
#
grep -i 'hello world' *.c

选项

optionsUsage
-c仅显示特定字符串所在行的行号
-i忽略大小写
-n显示行号
-v反向选择,仅列出没有特定字符串的行
-r递归搜索文件目录(terminal 显示路径和搜索到内容)
-E使用拓展的正则表达式 (grep -E = egrep
-l仅显示包含特定字符串的文件的名称
-C n打印匹配行的前后n行
-f file从 file 中获取 PATTERN 进行匹配

基本正则表达式

ExpressionUsage
.匹配任意单个字符。
*匹配前一个字符零次或多次
[ ]匹配括号内的任意一个字符
[^ ]匹配括号内以外的任意一个字符
\转义字符,用于匹配特殊字符)
^匹配行首
&匹配行尾
I或运算符
( )分组运算符

拓展正则表达式

ExpressionUsage
+匹配前一个字符一次或多次
?匹配前一个字符零次或一次
{ }匹配前一个字符指定次数

示例

① 对多个文件进行检索的时候,会显示文件名和特定字符串所在行的完整内容。

在这里插入图片描述

② 遍历当前目录下的所有文件,包含子目录中的文件,并进行搜索。

grep -r 'module' ./*

③ 使用 -f 选项

在这里插入图片描述

④ 同时使用多个选项

在这里插入图片描述

⑤ 正则表达式的使用

注意使用转义字符

在这里插入图片描述


find


find 命令用于在文件系统中搜索文件和目录,并对找到的项目执行操作。通过文件名查找文件的所在位置,文件名查找支持模糊匹配。

grep 是在文件中找字符串,find 是在目录下找文件或者其他内容。

基本语法

find [OPTION] [path ...] [expression]

示例

find ./* -name "*.v"

命令的执行结果示例如下:
在这里插入图片描述

该命令用于搜索当前目录下以 v 为后缀的所有文件,它会自动对子目录进行检索,最终输出目标文件的相对路径。

选项

这里的选项可以分为两部分,一个是查找文件的选项,另一个是找到文件之后,对其进行某种操作的选项。

筛选选项:

optionsUsage
-name pattern根据文件名进行查找,pattern 中支持通配符 * 和 ?。
-iname pattern根据文件名进行查找,忽略大小写
-type type根据文件类型进行查找,f表示文件,d 表示目录,l 表示链接
-size n/+n/-n根据文件大小进行查找,+n 表示文件大于某个值,比如 10M,-n 表示文件小于某个值,n则是等于
-depth先搜索子目录,再搜索当前目录
-maxdepth搜索的最大深度
-perm根据全选搜索文件,例如 -perm 755

操作选项(放在命令的最后面):

optionsUsage
-delete找到文件后,将其删除
-exec coomand {} \;对找到的文件执行命令
-ok coomand {} \;对找到的文件执行命令,并在执行前提示用户确认

示例:

查找 /home 目录下所有大于 10M 的文件:

find /home -size +10M

查找当前目录下所有以 .txt 结尾的文件,并把它们复制到 /backup 目录:

find . -name "*.txt" -exec cp {} /backup \;

查找当前目录下所有以 .log 结尾的文件,并提示用户是否删除它们:

find . -name "*.log" -ok rm {} \;

wc


统计文件或者标准输出的行数、字数(word)或字节(Byte)数。

基本语法

wc [OPTION]... [FILE]...
  1. 可以同时指定多个文件
  2. 如果文件名是 -,或者没有指定文件名称,则 wc 会从标准输出中读取数据并统计数量。
  3. 这里的 word 指的是以空白符为分界的连续的字符串。(A word is non-zero-length sequence of characters delimited by white space.)

wc 默认统计行数、字数和字节数,统计单个文件的结果如下:

在这里插入图片描述

14 23 147 依次是行数、字数和字节数。

同时统计多个文件时,最后会有一个统计值。

在这里插入图片描述

选项

optionsUsage
-l统计行数
-w统计字数
-c统计字节数
-m统计字符的数量(character counts)
-L最长行的长度

Examples


wc 命令往往是配合其他命令(grep|等)一起使用,具体示例如下。

① 统计某个文件中 Error 的数量:

grep "Error" tk_scan.log | wc -l

② 统计当前目录下文件的数量(不包含子目录)

ls -l | grep "^-" | wc -l

③ 统计当前目录下文件的数量(包含子目录)

ls -lR | grep "^-" | wc -l

④ 查看某目录下文件夹(目录)的个数(包括子目录)

ls -lR | grep "^d" | wc -l

⑤ 统计当前文件夹下某个文件或某种后缀名称的文件的数量

find . -name filename | wc -l
#
find . -name "*.v" | wc -l

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2214399.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

浙大数据结构:09-排序3 Insertion or Heap Sort

这个题跟上个题差不多&#xff0c;只不过是换成了堆排序而已 机翻 1、条件准备 跟之前一样&#xff0c;oldnum数组存旧数组&#xff0c;newnum数组存新数组 #include <iostream> #include<vector> #include<algorithm> using namespace std; #define end…

从调用NCCL到深入NCCL源码

本小白目前研究GPU多卡互连的方案&#xff0c;主要参考NCCL和RCCL进行学习&#xff0c;如有错误&#xff0c;请及时指正&#xff01; 内容还在整理中&#xff0c;近期不断更新&#xff01;&#xff01; 背景介绍 在大模型高性能计算时会需要用到多卡&#xff08;GPU&#xf…

Android实现App内直接预览本地PDF文件

在App内实现直接预览pdf文件&#xff0c;而不是通过调用第三方软件&#xff0c;如WPS office等打开pdf。 主要思路&#xff1a;通过PhotoView将pdf读取为图片流进行展示。 一、首先&#xff0c;获取对本地文件读取的权限 在AndrooidManifest.xml中声明权限&#xff0c;以及页…

案例-登录认证(上)

案例-登录认证 在前面的课程中&#xff0c;我们已经实现了部门管理、员工管理的基本功能&#xff0c;但是大家会发现&#xff0c;我们并没有登 录&#xff0c;就直接访问到了Tlias智能学习辅助系统的后台。 这是不安全的&#xff0c;所以我们今天的主题就是登录 认证。 最终我…

Educational Codeforces Round 170 (Rated for Div. 2)(A~E题解)

本场也算是对我努力的一个reward吧&#xff0c;也是非常nice啊&#xff0c;话不多说&#xff0c;先写题解&#xff0c;写完直接休息 A. Two Screens 思路&#xff1a;我们先去想其最多需要多少次&#xff0c;也就是两个串长度之和&#xff0c;然后在哪里有优化呢&#xff1f;就…

pip安装opencv和imageio_ffmpeg慢,pip使用清华镜像源

文章目录 一、在命令行使用二、修改配置文件 pip.ini 一、在命令行使用 1、普通安装 pip install package pip install opencv-python2、使用清华源进行安装&#xff08;暂时&#xff09; pip install -i https://pypi.tuna.tsinghua.edu.cn/simple package pip install -i …

从opencv-python入门opencv--GUI功能之绘图鼠标与图像界面的交互

从opencv-python入门opencv--GUI功能之绘图和鼠标操作 一、文章介绍二、opencv绘制直线、矩形、圆形1、cv.line()2、cv.circle()3、cv.rectangle()4、在图像上绘制直线、矩形和圆形5、cv.ellipse()&#xff08;在空白画布上绘制椭圆&#xff09;&#xff08;1&#xff09;img …

Linux的Spark 环境部署

前言:需自行准备hadoop集群 1. Spark 是一款分布式内存计算引擎&#xff0c; 可以支撑海量数据的分布式计算。 Spark 在大数据体系是明星产品&#xff0c; 作为最新一代的综合计算引擎&#xff0c; 支持离线计算和实 时计算。 在大数据领域广泛应用&#xff0c; 是目前世界上使…

关于Java部署项目,文件上传路径问题 、Windows是\ linux是/

Windows是\ linux是/ &#xff0c;踩坑。报错如下&#xff1a;

HyperWorks汽车B-柱网格变形

在这一节&#xff0c;将练习如何使用变形域&#xff0c;实现汽车 B-柱有限元模型的网格变形。 图 7-13 网格变形前后的 B 柱模型 Step01&#xff1a;读取并查看模型。 打开模型文件 Exercise_7c.hm。 Step02&#xff1a;创建变形域。 (1) 通过路径 HyperMorph > Morph…

SDV 峰会聚焦:下一代软件定义汽车的关键开源技术

10 月 17 - 18 日&#xff0c;由 GOSIM 开源创新汇主办、CSDN 承办的 GOSIM CHINA 2024 将在北京盛大启幕。作为 GOSIM 开源年度大会的第三届盛会&#xff0c;本次活动邀请了 60 多位国际开源专家&#xff0c;汇聚了来自全球百余家顶尖科技企业、知名高校及开源社区的技术大咖、…

量子计算机的原理与物理实现

量子计算机的原理与物理实现很复杂 指导性原则 首先思考制备一台量子计算机需要些什么&#xff1f; 需要量子比特——二能级量子系统。除了量子计算机需要满足一些物理特性&#xff0c;它还必须要把量子比特绘制到某种初态上&#xff0c;以及测量系统的输出态。 而实验上的挑战…

Vue检测获取最新资源 解决浏览器缓存问题

Vue检测获取最新资源 解决浏览器缓存问题 1、在public文件夹下创建version.json文件2、vue.config.js中&#xff0c;每次打包动态更新version.json内容3、App.vue中使用定时器去检测版本号和本地是否有差异 背景&#xff1a;由于浏览器缓存问题&#xff0c;vue2项目发布后&…

毕业设计选题:基于ssm+vue+uniapp的实习记录小程序

开发语言&#xff1a;Java框架&#xff1a;ssmuniappJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;M…

数码准备记录

1.数据结构 常见的数据结构包括数组、链表、栈、队列、树&#xff08;如二叉树、B树、B树&#xff09;、图等 2.队列和栈的区别 队列是一种先入先出的数据结构&#xff0c;即最先加入的元素被最先移除&#xff1b; 栈是一种后进后出的数据结构&#xff0c;即最后加入的元素…

nbsaas vue3管理后台框架

nbsaas vue3管理后台框架 一、项目概述 Nbsaas Admin Vue 是一个基于 Vue.js 3.0 构建的轻量级后台管理系统&#xff0c;结合了现代前端技术栈的最佳实践&#xff0c;旨在帮助开发者快速构建具有高可扩展性和良好用户体验的后台管理系统。该项目拥有简洁的 UI 设计&#xff0…

计算机性能的指标

CPI——每条指令的时钟周期数&#xff08;执行一条指令所需的时间周期&#xff09;

基于SpringBoot+Vue+MySQL的社区医疗管理系统

系统展示 用户前台界面 管理员后台界面 系统背景 在当前医疗体系日益完善的背景下&#xff0c;社区医院作为基层医疗服务的重要一环&#xff0c;其管理效率和服务质量直接关系到居民的健康福祉。传统的社区医院管理模式存在效率低下、资源分配不均、患者就医体验差等问题。为了…

SpringBoot技术在人事管理中的应用:系统开发全解析

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常适…

高德地图怎么定位自己的店铺位置?

在现代社会&#xff0c;像高德地图这样的导航软件已经成为我们日常生活中不可或缺的重要工具。无论是通勤出行&#xff0c;还是寻找周边商家&#xff0c;地图导航都发挥着关键作用。尤其是对于商家来说&#xff0c;地图导航的标注定位功能更是一个增加店铺曝光、获取客流量的有…