首页 > 系统相关 >Linux三剑客之grep

Linux三剑客之grep

时间:2024-08-07 14:07:32浏览次数:14  
标签:匹配 mail passwd 关键字 Linux grep root 三剑客

介绍

Linux grep (global regular expression) 命令用于查找文件里符合条件的字符串或正则表达式。
grep是行过滤工具,用于根据关键字进行行过滤,包含关键字的行过滤出来。
根据模式去搜索文本,并将符合模式的文本行显示出来。

语法

grep [options] pattern [files]

  • options:选项参数
  • pattern:表示要查找的字符串或正则表达式。
  • files:表示要查找的文件名,可以同时查找多个文件,如果省略 files 参数,则默认从标准输入中读取数据。
OPTIONS:
    -i: 不区分大小写
    -v: 查找不包含指定内容的行,反向选择
    -w: 按单词搜索,精确匹配
    -o: 只打印匹配到的关键字
    -c: 统计匹配到的行数
    -n: 显示行号
    -r: 逐层遍历目录查找
    -A: 显示匹配行及后面多少行	
    -B: 显示匹配行及前面多少行
    -C: 显示匹配行前后多少行
    -l:只列出匹配的文件名
    -L:列出不匹配的文件名
    -e: 使用正则匹配
    -E: 使用扩展正则匹配
    ^key: 以关键字开头
    key$: 以关键字结尾
    ^$: 匹配空行
    --color=auto :可以将找到的关键词部分加上颜色的显示

案例

# grep -i root passwd						忽略大小写匹配包含root的行
# grep -w ftp passwd 						精确匹配ftp单词
# grep -w hello passwd 						精确匹配hello单词;自己添加包含hello的行到文件
# grep -wo ftp passwd 						打印匹配到的关键字ftp(-o只打印关键字本身)
# grep -n root passwd 						打印匹配到root关键字的行好
# grep -ni root passwd 						忽略大小写匹配统计包含关键字root的行
# grep -nic root passwd						忽略大小写匹配统计包含关键字root的行数
# grep -i ^root passwd 						忽略大小写匹配以root开头的行
# grep bash$ passwd 						匹配以bash结尾的行
# grep -n ^$ passwd 						匹配空行并打印行号
# grep ^# /etc/vsftpd/vsftpd.conf		    匹配以#号开头的行
# grep -v ^# /etc/vsftpd/vsftpd.conf	    匹配不以#号开头的行
# grep -vE "^(#|$)" filename                匹配不以#号开头的非空行
# grep -A 5 mail passwd 	                匹配包含mail关键字及其后5行(匹配了这一行, 前面5行也打印出来)
# grep -B 5 mail passwd 				 	匹配包含mail关键字及其前5行
# grep -C 5 mail passwd 					匹配包含mail关键字及其前后5行
# grep ^ /sys/block/*/queue/rotational      显示ssd盘。0为ssd 1为hdd

标签:匹配,mail,passwd,关键字,Linux,grep,root,三剑客
From: https://www.cnblogs.com/OpenSourceSite/p/18346662

相关文章

  • linux与windows环境下qt程序打包教程
    一、演示环境qt5.14.2二、Linux2.1关联依赖文件2.1.1下载打包工具在Windows环境下可以使用QtCreator自带的官方工具进行打包,而Linux环境下没有官方工具,需要借助第三方工具才能打包。如:linuxdeployqt、CQtDeployer、AppImageKit,甚至是自己编写shell将依赖导入指定目录......
  • Linux内核学习—— 1内核体系结构
    一内核体系结构1内核模式与体系结构2内核中断概括3进程管理概括二内核源码结构三内核引导程序操作系统结构:用户应用程序操作系统服务层内核(文件系统,内存管理,进程管理,驱动管理)硬件系统驱动操作系统工作方式:把做操作系统从用户态切换到内核态(用户应用程序到内核流......
  • Linux服务器SSH远程密钥免密登录
    说明业务场景中经常需要进行跨服务器的操作,即从一台服务器上登录到另外一台服务器,默认情况下,SSH远程登录时需要输入远程服务器密码。当需要在可信任的服务器之间进行频繁或自动化的操作时,输入密码就会带来不便。本文介绍如何实现SSH远程免密登录。服务器信息假设有2台服......
  • Nessus Professional 10.8.0 Auto Installer for RHEL 9/AlmaLinux 9/Rocky Linux 9
    NessusProfessional10.8.0AutoInstallerforRHEL9/AlmaLinux9/RockyLinux9发布Nessus试用版自动化安装程序,支持macOSSonoma、RHEL9和Ubuntu24.04请访问原文链接:https://sysin.org/blog/nessus-auto-install-for-rhel-9/,查看最新版。原创作品,转载请保留出处。N......
  • Linux安装Docker
    安装前问题1.新安装的CentOS在首次登录时出现需要创建一个新用户的界面Ctrl+Alter+F2新建一个命令行桌面,在这个界面可以使用root账号密码登录在命令行界面执行以下命令,即可跳过该步骤yumremovegnome-initial-setupinit3init52.无法正常显示ipv4地址1.进入存放网......
  • linux进程管理相关命令
    一、进程的概念程序的一次执行就是一个进程 程序的两次执行就产生了p1和p2进程 二、使用ps命令查看进程显示进程(process)的动态1、语法:            ps[options]2、常见的参数:    -A 列出所有的行程       -w ......
  • Linux 修改 默认 shell
    连接到目标计算机后,默认情况下会进入目标计算机的默认shell。要切换到bashshell,只需在终端窗口中输入以bash,以非登录交互方式启动bashshell。但是每次都输入bash很麻烦,就需要修改默认shell,使其登录就进入bash(或者其他shell)。查看系统已安装的shell如果要查看当前系统的she......
  • Linux杀毒软件clamav1.3.1离线安装及杀毒
    Linux杀毒软件clamav1.3.1离线安装及杀毒wgethttps://www.clamav.net/downloads/production/clamav-1.3.1.linux.x86_64.rpmrpm-ivh--prefix=/usr/local/clamavclamav-1.3.1.linux.x86_64.rpmgroupaddclamavuseradd-gclamavclamavmkdir-p/usr/local/clamav/logsmkdir-......
  • Linux基础——BClinuxEuler21.10内核降级
    Linux基础——BClinuxEuler21.10内核降级一、准备回退内核安装包[root@harborkernel]#lskernel-4.19.90-2107.6.0.0192.8.oe1.bclinux.x86_64.rpm       kernel-devel-4.19.90-2107.6.0.0251.43.oe1.bclinux.x86_64.rpmkernel-4.19.90-2107.6.0.0251.43.oe1.bclinux......
  • Linux基础——BCeuler21.10内核升级
    Linux基础——BCeuler21.10内核升级一、准备升级的kernel包[root@harborkernel]#lskernel-4.19.90-2107.6.0.0192.8.oe1.bclinux.x86_64.rpm       kernel-devel-4.19.90-2107.6.0.0251.43.oe1.bclinux.x86_64.rpmkernel-4.19.90-2107.6.0.0251.43.oe1.bclinux.x86_......