grep基本操作

grep用法

1 基本用法

语法:grep [OPTIONS] regex  file

其中regex就是正则表达式  file 就是要指定查找匹配的文本文件名,可以指定多个

eg:

$:ls /usr/bin > dirlist-usr-bin.txt

$:ls /sbin > dirlist-sbin.txt

$:ls /usr/sbin > dirlist-usr-sbin.txt

$:grep tou dirlist-bin.txt

touch

其中tou是正则表达式,表达匹配包含tou字符串的行,因为在shell命令行当中执行应该避免执行前的扩展,规范的写法应该是

grep ‘tou‘ dirlist-bin.txt,这样可以避免不必要的错误。

2 OPTIONS选项参数

-i 忽略大小写

-v 反向匹配

-l 输出包含匹配串的文件名

-L 输出不包含匹配串的文件名

$ grep -L ‘tou‘ *

dirlist-sbin.txt

dirlist-usr-sbin.txt

-h 仅输出匹配的文件名

-n 输出匹配的行

$:~/jiangjian/note/temp$ grep -n ‘tou‘ dirlist-bin.txt

dirlist-bin.txt:141:touch

3 关于[] 的使用

对于前面如果想shell不进行扩展,可以在"‘"和"‘"当中写入正则表达式,这里也可以用"["和"]"匹配一定字符集,只要是这里面出现的都算匹配成功,除了两个元字符"^"和"-",其他元字符在这里面不转义,以普通的字符身份来进行匹配,

$: grep ‘[bg]zip‘ dirlist-*.txt

dirlist-bin.txt:bzip2

dirlist-bin.txt:bzip2recover

dirlist-bin.txt:gzip

注意命令行当中的dirlist-*.txt在执行前已经被扩展。

时间: 2024-08-04 05:15:25

grep基本操作的相关文章

Mongodb入门系列(4)——Mongodb体系结构与客户端基本操作及注意细节

说到Mongodb的体系结构,免不了与关系型数据库做个对比.这里以MySQL为例,我们进行一些比较: 从逻辑结构上对比: MySQL层次概念 MongoDB层次概念 数据库(database) 数据库(database) 表(table) 集合(collection) 记录(row) 文档(document) 在MongoDB中没有行.列.关系的概念,集合中的文档相当于一条记录,这体现了模式自由的特点. 从数据存储结构上对比: MySQL的每个数据库存放在一个与数据库同名的文件夹中,MySQL如

AIX Basic基本操作

一.Using the System 1.退出系统的三种方式:exit.logout.Ctrl+D 2.创建或修改密码:passwd 3.The dateand cal Commands    (1)查看日期:date(周 月 日 时间 时制 年)    (2)查看某一月:cal 月 年 (3)查看某一年:cal 年(公元几年年历) 4.清屏终端屏幕:clear 5.Command Format:         6.在屏幕上输出:    Echo: e.g: echo hello Banner

Linux下Gvim 的基本操作-适合新手看

Linux下Gvim 的基本操作 vi 有三种方式 编辑方式 插入方式 命令方式在命令方式下,所有命令以“:”开始,所键入的字符系统均作为命令处理在命令方式下,按下i就会进入插入模式,用户输入的可视字符都添加到文件中,按下Esc键,就回到命令状态 基本命令光标命令:k,j,h,l-----上下左右移动光标nG-------跳转命令.n为行数,该命令立即跳转到指定的行Ctrl+G -----报告光标所在位置的行数和列数w,b----- 使光标向前或者向后跳过一个单词 编辑命令:i,a,r----在

Samsung_tiny4412(笔记)-->字符设备驱动基本操作及调用流程

/*********************************************************************************** * * Samsung_tiny4412(笔记)-->字符设备驱动基本操作及调用流程 * * 声明: * 以下所有的shell命令都是在root权限下运行的; * * 2015-3-7 阴 深圳 尚观 Sbin 曾剑锋 *******************************************************

MySQL在Django框架下的基本操作(MySQL在Linux下配置)

[原]本文根据实际操作主要介绍了Django框架下MySQL的一些常用操作,核心内容如下: ------------------------------------------------------------------------------------------------- 1. Linux环境下MySQL的安装与配置 2. [Linux]MySQL在Django框架下的基本操作 3. 本文相关的一些参考网址 注:本文会根据实践,持续更新文档,如有错误,希望读者指出哈!~ -----

MySQL-->基础-->001-->MySQL基本操作

一.MySQL安装 卸载mysql 第一步 1 sudo apt-get autoremove --purge mysql-server-5.0 2 sudo apt-get remove mysql-server 3 sudo apt-get autoremove mysql-server 4 sudo apt-get remove mysql-common (非常重要) 第二步:清理残留数据 1 dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs d

Linux下简单基本操作【备查】

Linux下简单基本操作[备查]①解压文件指令 tar zxvf filename (filename文件名)②查看修改文件内容 vi filename i 进入修改模式 修改后保存步骤 esc——shift+: ——wq(保存退出 q直接退出)③文件删除命令rm 命令格式:rm [fir] 文件或目录 参数说明: -f:强制删除 -i:交互模式,在删除前询问用户是否操作 -r:递归删除,常用在目录的删除 如删除/test目录下的file1文件,可以输入以下命令: rm -i /test/fil

Ubuntu 16.04 LTS软件包管理基本操作

前文 Ubuntu 16.04 新特性中我们已经介绍过,随着 Ubuntu 16.04 LTS 的发布,Ubuntu 的软件包管理命令也发生了变化,新系统采用了 Debian 项目中所使用的 APT(Advanced Package Tool)来完成各种的不同的任务,ATP 命令全面取代了我们之前在 Linux 软件包管理基本操作入门中所介绍的 apt-get.apt-cache 等功能. ATP 在创建之初便是为了解决大量软件包管理所遇到的问题,希望结束类似 Linux 早期系统依赖的一大弊病

Ubuntu 16.04 LTS软件包管理基本操作使用APT简化命令行下面我们列出 Ubuntu 16.04 LTS 中使用 ATP 命令与老版本 Ubuntu 中软件包管理的用法对比: Ubuntu 16.04 LTS 老版本Ubuntu apt install 包名 替代 apt-get install 包名 apt remove 包名 替代 apt-get remove 包名 apt se

前文 Ubuntu 16.04 新特性中我们已经介绍过,随着 Ubuntu 16.04 LTS 的发布,Ubuntu 的软件包管理命令也发生了变化,新系统采用了 Debian 项目中所使用的 APT(Advanced Package Tool)来完成各种的不同的任务,ATP 命令全面取代了我们之前在 Linux 软件包管理基本操作入门中所介绍的 apt-get.apt-cache 等功能. ATP 在创建之初便是为了解决大量软件包管理所遇到的问题,希望结束类似 Linux 早期系统依赖的一大弊病