Linux/Unix Shell 系列学习(一)——文本过滤之grep

2024-03-13 21:18

本文主要是介绍Linux/Unix Shell 系列学习(一)——文本过滤之grep,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 前言:接触linux也有一个多月了,近一个月里主要都是在看APUE和UNP并写一些网络应用程序。对Linux系统的使用几乎都只是打开VIM写程序,对于shell则几乎都没有去了解,用的最多的就是ls cd man 这几个命令,刚好寒假这段时间可以好好地学习一下shell,第一天就先献给grep吧。

grep

grep常用的命令行参数选项主要有以下几个:

-c 只输出匹配行的计数。
-i 不区分大小写(只适用于单字符)。
-h 查询多文件时不显示文件名。
-l 查询多文件时只输出包含匹配字符的文件名。
-n 显示匹配行及行号。
-s 不显示不存在或无匹配文本的错误信息。
-v 显示不包含匹配文本的所有行。

1.-c选项用于统计匹配行的行数   ls -l |grep -c "^d" 列出当前目录下的子目录个数

2.-h选项用于屏蔽多文件查询时的文件名,无-h选项时,多文件查询会按文件列出各文件的匹配项,加入-h选项后则只输出匹配的行,

grep -h "string" file1 file2  只输出与string匹配的行。

3.-i选项用于忽略大小写, grep -i “string” file 输出与string 匹配的行,并且忽略string字符串中字符的大小写。

4.-n选项输出匹配行的行号码, grep -i "string"  file 输出与string 匹配的行,并且列出各个行的行号。

5.-v选项用于反向选择,输出不匹配的行 grep -v "string" file 输出file文件中不包含string的其它所有行。

6.-l选项列出包含匹配文本的文件名 grep -l "string" file1 file 2 ... 若文件中包含string 则列出文件名。


7.”string“可以是简单的字符串,也可以是正则表达式,关于正则表达式这里先不做介绍了。

8.grep 也可以用与或来进行匹配, |  & 。

grep ”string1|string2“ file 匹配包含string1 或string2的所有行。

grep "string1 & string2" file 匹配即包含string1又包含string2的行

9.用grep进行匹配时,若匹配内容包含特殊字符,则需要用\进行转义  如 grep "\." file  grep  '\"'  file

 

系统中比较常用有:

ls -l | grep '^d' 查找目录

ls -l | grep '...x..x..x'  查找可执行文件

ps -ax |grep "bash" 查找bash进程

who |grep "loginname" 查找指定的登陆用户


grep中还有很多参数,需要在以后实际使用中慢慢熟悉应用。

这篇关于Linux/Unix Shell 系列学习(一)——文本过滤之grep的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/806229

相关文章

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

kali linux 无法登录root的问题及解决方法

《kalilinux无法登录root的问题及解决方法》:本文主要介绍kalilinux无法登录root的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录kali linux 无法登录root1、问题描述1.1、本地登录root1.2、ssh远程登录root2、

C#TextBox设置提示文本方式(SetHintText)

《C#TextBox设置提示文本方式(SetHintText)》:本文主要介绍C#TextBox设置提示文本方式(SetHintText),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录C#TextBox设置提示文本效果展示核心代码总结C#TextBox设置提示文本效果展示核心代

shell编程之函数与数组的使用详解

《shell编程之函数与数组的使用详解》:本文主要介绍shell编程之函数与数组的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录shell函数函数的用法俩个数求和系统资源监控并报警函数函数变量的作用范围函数的参数递归函数shell数组获取数组的长度读取某下的

SpringShell命令行之交互式Shell应用开发方式

《SpringShell命令行之交互式Shell应用开发方式》本文将深入探讨SpringShell的核心特性、实现方式及应用场景,帮助开发者掌握这一强大工具,具有很好的参考价值,希望对大家有所帮助,如... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Linux ls命令操作详解

《Linuxls命令操作详解》通过ls命令,我们可以查看指定目录下的文件和子目录,并结合不同的选项获取详细的文件信息,如权限、大小、修改时间等,:本文主要介绍Linuxls命令详解,需要的朋友可... 目录1. 命令简介2. 命令的基本语法和用法2.1 语法格式2.2 使用示例2.2.1 列出当前目录下的文

Linux中的计划任务(crontab)使用方式

《Linux中的计划任务(crontab)使用方式》:本文主要介绍Linux中的计划任务(crontab)使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、前言1、linux的起源与发展2、什么是计划任务(crontab)二、crontab基础1、cro

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将