Linux---文本处理命令(grep、wc、管道符 |)

news2024/12/23 19:05:51

1. grep命令

grep命令能够在一个或多个文件中,搜索某一特定的字符模式(也就是正则表达式),此模式可以

是单一的字符、字符串、单词或句子。

注意:在基本正则表达式中,如通配符 *、+、{、|、( 和 )等,已经失去了它们原本的含义,而若

要恢复它们原本的含义,则要在之前添加反斜杠 \,如 \*、\+、\{、\|、\( 和 \)。

grep 命令是用来在每一个文件或中(或特定输出上)搜索特定的模式,当使用 grep 时,包含指定

字符模式的每一行内容,都会被打印(显示)到屏幕上,但是使用 grep 命令并不改变文件中的内

容。

格式:[root@localhost ~]# grep [选项] 模式 文件名

选项包括:

 模式:要么是字符(串),要么是正则表达式。

注意:如果是搜索多个文件,grep 命令的搜索结果只显示文件中发现匹配模式的文件名;而如果

搜索单个文件,grep 命令的结果将显示每一个包含匹配模式的行。

假设有一份 emp.data 员工清单:

#搜索此文件,找出职位为 CLERK 的所有员
[root@localhost ~]# grep CLERK emp.data
#只想知道职位为 CLERK 的员工的人数,可以使用“-c”选项
[root@localhost ~]# grep -c CLERK emp.data
#使用正则表达式找出以 78 开头的数据行
[root@localhost ~]# grep ^78 emp.data

2. wc命令

wc命令用于计算字数。利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定文件

名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据。

wc [选项] Linux路径

选项:

[root@localhost ~]$ cat testfile  
Linux networks are becoming more and more common, but scurity is often an overlooked  
issue. Unfortunately, in today’s environment all networks are potential hacker targets,  
fro0m tp-secret military research networks to small home LANs.  
Linux Network Securty focuses on securing Linux in a networked environment, where the  
security of the entire network needs to be considered rather than just isolated machines.  
It uses a mix of theory and practicl techniques to teach administrators how to install and  
use security applications, as well as how the applcations work and why they are necesary. 
[root@localhost ~]$ wc testfile           # testfile文件的统计信息  
3 92 598 testfile       # testfile文件的行数为3、单词数92、字节数598 
[root@localhost ~]$wc testfile testfile_1 testfile_2  
#统计三个文件的信息 
[root@localhost ~]$ wc testfile testfile_1 testfile_2  
#统计三个文件的信息  
3 92 598 testfile                   
#第一个文件行数为3、单词数92、字节数598  
9 18 78 testfile_1                   
#第二个文件的行数为9、单词数18、字节数78  
3 6 32 testfile_2                   
#第三个文件的行数为3、单词数6、字节数32  
15 116 708 总用量                    
#三个文件总共的行数为15、单词数116、字节数708 

3. 管道符 |

管道符的含义是:将管道符左边命令的结果,作为右边命令的输入

cat、sort、uniq、grep等命令均支持管道符,是因为这些命令均可从标准输入中读取要处理的文本

(即从标准输入中读取参数);而对于部分命令,例如rm、kill等命令则不支持从标准输入中读取

参数,只支持从命令行中读取参数(即rm命令后面必须指定删除的文件或者目录,kill命令后面必

须要指定杀死的进程号等)。

sort后面没有参数时,则对管道符丢给它的前一个命令的输出结果进行处理(即前一个命令的标准

输出作为本次命令的标准输入)。

当rm后面不指定删除的文件时,则会报错丢失参数,所以,rm等命令不支持从标准输入读取参

数,只支持在命令行指定参数,即指定删除的文件。

[root@localhost ~]$ ls | grep Desktop
--过滤ls的结果
[root@localhost ~]$ find / -name “test” | grep “/usr/lib64”
--过滤结果,只找路径带有/usr/lib64的结果
[root@localhost ~]$ cat a.txt | grep bbb | grep ccc
--可以嵌套使用
--cat a.txt的结果给 grep bbb 使用
--cat a.txt | grep bbb 的结果给 grep ccc使用
[root@localhost ~]$  cat hello.sh | sort | uniq | grep 'better’
--首先使用cat命令查看文本,打印到屏幕上内容即为cat命令的输出结果
--将前面cat命令输出的结果通过管道丢给sort命令,所以sort命令是对前面cat命令输出的文本进行排序
--sort跟uniq结合使用才能有效去重,所以通过管道将sort处理后输出的文本丢给uniq处理,
--所以uniq处理的是排序好的文本,可以进行有效去重
--最后一步过滤则同样是将前面命令即uniq命令处理后输出的文本进行过滤

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

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

相关文章

【STM32G431RBTx】备战蓝桥杯嵌入式→决赛试题→第十三届

文章目录 前言一、题目二、模块初始化三、代码实现interrupt.h:interrupt.c:main.h:main.c: 四、完成效果五、总结 前言 无 一、题目 二、模块初始化 1.LCD这里不用配置,直接使用提供的资源包就行 2.ADC:开启ADCsingle-ended 3.LED:开启PC8-15,PD2输出模式就行了…

从前序与中序遍历序列构造二叉树(java)

从前序与中序遍历序列构造二叉树 leetcode 105 题-原题链接题目描述解题思路往期经典二叉树递归题目: leetcode 105 题-原题链接 从前序与中序遍历序列构造二叉树 题目描述 给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历&a…

【论文阅读系列】NWD-Based Model | 小目标检测新范式,抛弃IoU-Based暴力涨点(登顶SOTA) 计算机视觉

NWD-Based Model | 小目标检测新范式,抛弃IoU-Based暴力涨点(登顶SOTA) 计算机视觉 参考:博客1 知乎2 在这里进行纪录分享,这是有用的资料,避免之后再寻找相当麻烦。 小目标检测是一个非常具有挑战性的问题,因为小目…

监控易:信创工程,几十万台终端设备桌面集中监控运维方案​

监控易:信创工程,几十万台终端设备桌面集中监控运维方案 从2019年开始,我国因国际国内形势的迫切要求,在信息和网络安全方面启动 “安全可靠工程”,全面深入推进信创运维及相关产品国产化。时至今日,已取得令世人瞩目的成果。 过去&#xff…

learn_C_deep_14 (条件编译的基本使用与理解)

目录 条件编译 1.条件编译如何使用? 2.为何要有条件编译? 3. 条件编译都在哪些地方用? 条件编译 1.条件编译如何使用? C语言的条件编译是一种在程序编译时根据条件选择不同代码段进行编译的技术。条件编译可以用于实现代码跨平台,开启…

C++小知识点(auto关键字)

🌹作者:云小逸 📝个人主页:云小逸的主页 📝Github:云小逸的Github 🤟motto:要敢于一个人默默的面对自己,强大自己才是核心。不要等到什么都没有了,才下定决心去做。种一颗树,最好的时间是十年前…

猿创征文|Spring系列框架之面向切面编程AOP

⭐️前面的话⭐️ 本篇文章将介绍一种特别重要的思想,AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。 …

Springcloud1---->Zuul网关

目录 简介加入zuul后的架构快速入门添加Zuul依赖编写zuul启动类编写zuul配置文件编写路由规则 面向服务的路由添加Eureka客户端依赖开启Eureka客户端发现功能添加Eureka配置,获取服务信息修改映射配置,通过服务名称获取 简化的路由配置过滤器使用场景自定…

这个 堆排序详解过程 我能吹一辈子!!!

文章目录 堆排序的概念堆的分类堆排序的算法思想堆排序的实现 堆排序的概念 堆是一种叫做完全二叉树的数据结构,可分为大根堆、小根堆,而堆排序就是基于这种结构产生的一种排序的算法。 堆的分类 大根堆:每个节点的值都大于或者等于它的左…

SpringBoot 读取 yml 文件属性值常用法总结

开发过程中有一些常量配置一般会写在application.yml文件中,而Spring Boot读取yml文件的主要方式有以下几种: 一、使用Value注解 在bean的属性上使用Value注解,直接读取yml中的值,如: 但这里面写法也有一些情况:其实这种写法对于 String 字符串其实没有…

计算机网络考试周极限复习--1

第一章 时延 因特网协议栈和OSI参考模型 应用层:报文 HTTP(提供了Web文档的请求和传送),SMP(提供了电子邮件报文的传送), FTP(它提供两个端系统之间的文件传送) 运输…

【线下|05.27】|StarRocks Friends 杭州站

StarRocks & Friends 是由 StarRocks 社区发起的城市线下 meetup,旨在联合社区与行业的专家小伙伴们分享基于 StarRocks 的最佳实践、大数据分析的前沿技术和 StarRocks 生态融合等热门话题。 不远千里奔赴,只为与你相聚。这个夏天,让我们…

Python大火,零基础还能学习么?

Python近段时间一直涨势迅猛,在各大编程排行榜中崭露头角,得益于它多功能性和简单易上手的特性,让它可以在很多不同的工作中发挥重大作用。 正因如此,目前几乎所有大中型互联网企业都在使用 Python 完成各种各样的工作&#xff0…

广义状态平均无线电能传输系统建模

关于WPT系统建模的一些笔记,在 CSDN 学到很多,现分享给大家,之前有看到过一篇博文, 内容语焉不详,对读者也很不客气,希望这篇博文对大家有用! Hierarchical multiobjective H-infinity robust …

Midjourney8种风格介绍+使用场景(3)

引言 我相信大家都或多或少玩过Midjourney,但是要形成自己独特的个人IP,那么有必要知晓画作的一些基础知识,如果你没有时间实践,没有关系,我来操作,定期分享画作相关知识,既简单又方便&#xff…

Systrace系列4 —— SystemServer 解读

本文主要是对 SystemServer 进行简单介绍,介绍了 SystemServer 中几个比较重要的线程,由于 Input 和 Binder 比较重要,所以单独拿出来讲,在这里就没有再涉及到。 窗口动画 Systrace 中的 SystemServer 一个比较重要的地方就是窗口动画,由于窗口归 SystemServer 来管,那么…

CentOS离线配置Java环境

CentOS离线配置Java环境 环境: 操作系统:Linux-CentOS 7Java版本:JDK17远程连接工具:MobaXterm 1.JDK下载 官网下载:https://www.oracle.com/cn/java/technologies/downloads/#java17 ​ 因为MobaXterm自带Sftp&am…

【python csv、Excel、json】零基础也能轻松掌握的学习路线与参考资料

CSV、Excel、JSON 是常用的数据存储格式,分别在不同的场景下有其特点和应用。下面将从以下几个方面进行比较:格式、特点、应用场景和优秀实践。 1.格式 CSV(Comma-Separated Values,逗号分隔值)格式是一种以纯文本形…

Contrastive Triplet Center Loss

Contrastive Loss background: 最直接的想法是我们假设存在一个损失函数,它满足如下的基本准则 近似样本之间的距离越小越好不似样本之间的距离越大越好 相似样本的坐标被放的越来越远,不似样本之间的距离越来越大,但训练的目标…

V神透露以太坊发展规划 未来十年,zkS将与区块链一样重要

作为加密世界,除中本聪外颇为“传奇”的人物,以太坊联合创始人V神眼光向来毒辣,在加密领域、区块链产业取得诸多“卓著”成绩。 在近期举行的EDCON 2023盛会上,V神透露了以太坊2.0的最新进展和未来规划,以及他对以太坊…