为什么会把 grep和find 这两个命令拿在一起来讨论?

是因为他们之间有一个容易混淆的地方, [在我的记忆中]

: -name ? 它是find的选项! 不是grep的选项!

实际上, find基本上 就相当于 linux下的 "搜索" , 相当于windows下的搜索功能! 它是用来搜索文件的

而grep则是用来搜索文本的, 用来在standard input或文件内部的内容中, 来搜索 文字 内容 的!

或者说, 因为这两个都是 "搜索" "查找"的相关命令, 所以还是容易混淆的, 但是记住:grep是用来查找文字内容的, 而find是用来查找文件的. 这样就清晰了!

----------------------------------------==

transaction: 交易; 事务; 会报, 学会

You are cheated, the transaction is false.

你被骗了,会报是假的。

loan 英 [ləʊn] 美 [loʊn]

n. 贷款; 借款; 借贷

-------------------------------------------==

afford 指“提供,供给”,还可以特指经济能力,负担得起。例如:

The transaction afforded him a good profit.

这笔交易使他赚了一大笔。

I think I can afford this. 我认为我可以负担得起。

offer 指“提出,提供,呈现”,表示向别人提供(一般是主动提供..)可接受也可拒绝的某物,如帮助、服务或物品,这可能是对方要求也可能是自己主动提出的。例如:He offered me a job, but I didn't accept.

he offered me a long loan so that I can go to Africa.

offer还有出价的意思。

provide 指“供给,提供,装备,准备”,强调有预见,并通过储存或准备的方式为某事做准备,以在需要时提供所需物品。例如:We provided them (with) board and lodging. 我们给他们提供食宿。

牵涉到金钱时,provide往往含有“免费供给”的意味,supply一般需付钱。

supply 指“供给,补充,弥补”,还可作名词,意为“供给(量),物资,存货”。例如:We are well supplied with foods. 我们的食品供给充足。

----------------------===

用grep搜索文本 文字内容的 ?

  • grep [options] 'patter' [file....]
  • grep 命令用来搜索文本(通常是standard input 管道),或从给定的文件中搜索行内包含了给定字符串或单词的文件, 然后显示匹配到的行!

    *grep: 最强大的地方就是可以在文件内部进行搜索匹配!
  • 其中'pattern'是必须的, 建议最好加上引号, 明确表示模式搜索
  • 最有用的几个options:

(((

-r: recursive递归查找, 是指可以递归的查找目录下的所有文件中的文本内容...!

也就是说, 默认的grep 后面是跟文件名, 如果要查找某个目录下的所有文件, 则必须用-r选项,
否则,会提示说, " .... 是一个目录"
这里只是说, 是一个提示, "但并不表示是 一个错误!"

)))

-w: 完全匹配单词
-i: --ignore-case
-n: number the matched lines
-c: count: 统计每个文件中匹配行的行数, 而且只显示匹配的行数 -v: 表示反向匹配, 查找不包含/不匹配内容的文件 -h: 不显示匹配内容所在的文件名
-H: 显示........, 默认的是 要显示文件名, [还要显示其他的内容] -l: 只显示匹配内容所在的文件名
-L: 只显示未匹配内容所在的文件名 --color: 高亮模式匹配到的strings ## 对目录和子目录的处理:
[[ 默认情况下,‘grep’只搜索当前目录。如果此目录下有许多子目录,‘grep’会以如下形式列出:
grep: sound: Is a directory
这可能会使‘grep’的输出难于阅读。这里有两种解决的办法:
明确要求搜索子目录:grep -r
或忽略子目录:grep -d skip]] ## 默认的搜索, 是使用的basic regular expression, 要使用extended expression. 即: BRE和ERE
## 很重要的是, 有时可能需要按 "正则表达式"来搜索, 则要使用egrep命令 = grep -E 还可以多级过滤搜索:
grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,
grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。 [[[ 搜索的特殊符号:
还是在特殊字符前面加反斜杠:
< 和 > 分别标注单词的开始与结尾。
例如:
grep man * 会匹配 ‘Batman’、‘manic’、‘man’等,
grep \'<man\' * 匹配‘manic’和‘man’,但不是‘Batman’, ??? 这个错误的
grep \'<man>\' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。
\'^\':指匹配的字符串在行首,
\'$\':指匹配的字符串在行尾,
]]]



它们的区别是:

---------------------------------------==

而find的用法是:

  • 格式: find [path] [-options] [操作的expression]

  • path 默认的是当前目录, 在当前目录下查找文件

  • -options, 选项,是指 搜索条件

  • expression就是 具体的搜索表达式

  • 常用的-options:

    -atime +n

    -atime -n

    -ctime +n

    -ctime -n

    ------------ 其中, +n表示n天之前, -n表示n天之内.

    -type f/l/d/c/

    -name "pattern"...

表达式的逻辑组合:



linux的find和grep区别?的更多相关文章

  1. Linux下sed,awk,grep,cut,find学习笔记

    awk awk是一种程序语言,对文档资料的处理具有很强的功能.awk擅长从格式化报文或从一个大的文本文件中抽取数据. awk的命令格式为: awk [-F filed-separator] “comm ...

  2. Linux编程return与exit区别

    Linux编程return与exit区别 exit  是用来结束一个程序的执行的,而return只是用来从一个函数中返回. return return 表示从被调函数返回到主调函数继续执行,返回时可附 ...

  3. windows系统以及linux系统的优缺点以及区别

    一.Linux以及Windows系统的优缺点对比   Windows Linux 优点 Windows Server系统相对于其他服务器系统而言,极其易用,极大降低使用者的学习成本. Linux系统是 ...

  4. 【转载】LINUX 和 WINDOWS 内核的区别

    LINUX 和 WINDOWS 内核的区别 [声明:欢迎转载,转载请注明出自CU ACCESSORY http://linux.chinaunix.net/bbs/thread-1153868-1-1 ...

  5. linux popen()与system()的区别

    linux popen()与system()的区别 popen() 可以在调用程序和POSIX shell /usr/bin/sh 要执行的命令之间创建一个管道(请参阅sh-posix(1) ). p ...

  6. linux常用命令:grep 命令

    Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局正则表达 ...

  7. linux中 ll 和ls 区别

    ll 列出来的结果详细,有时间,是否可读写等信息 ,象windows里的 详细信息ls 只列出文件名或目录名 就象windows里的  列表 ll -t 是降序,  ll -t | tac 是升序 l ...

  8. Linux useradd 与 adduser的区别, /sbin/nologin 与 /bin/bash

    摘自:https://blog.csdn.net/danson_yang/article/details/65629948 Linux useradd 与 adduser的区别, /sbin/nolo ...

  9. Linux命令--mysqld_safe和mysqld区别

    Linux命令--mysqld_safe和mysqld区别 学习了:https://blog.csdn.net/Aaroun/article/details/78143832 mysqld_safe ...

随机推荐

  1. PHP排序函数sort、rsort、asort、arsort、ksort、krsort

    1.sort函数用于对数组元素值从低到高排序,去除原始索引元素,重新生成0,1,2..的键2.rsort函数用于对数组元素值从高到低排序,去除原始索引元素,重新生成0,1,2..的键3.asort函数 ...

  2. div和span互换

    div是块级元素,它不论大小默认占一行,而且可以设置宽高以及外边距span是行内元素,它占它自身大小的位置,而且不能设置宽高以及边距同时div也可以变为span (display:inline),这样 ...

  3. 基于ELK进行邮箱访问日志的分析

    公司希望能够搭建自己的日志分析系统.现在基于ELK的技术分析日志的公司越来越多,在此也记录一下我利用ELK搭建的日志分析系统. 系统搭建 系统主要是基于elasticsearch+logstash+f ...

  4. Python 自定义三方库

    一.注册一个pypi账号 https://pypi.org/ 二.github上创建一个项目 https://github.com/ 三.编写自己的python项目 项目结构(参考):https:// ...

  5. Docker守护式容器的创建和登录

    创建守护式容器 如果对于一个需要长期运行的容器来说,我们可以创建一个守护式容器(后台运行的容器). 创建(-d)并运行(-i)守护式容器命令如下(容器名称不能重复): docker run -id - ...

  6. C功能模块集锦

    1. offsetof #include <stddef.h> size_t offsetof(type, member); The macro offsetof() returns th ...

  7. JavaEE高级-MyBatisPlus学习笔记

    第 1 章 简介 1.1 MyBatisPlus 介绍 -MyBatis-Plus(简称 MP),是一个 MyBatis 的增强工具包,只做增强不做改变. 为简化开发工作.提高生产率而生我们的愿景是成 ...

  8. ssh修改超时自动登出时间的方法

    echo $TMOUT 查看当前服务器登出时间,如果没有输出表示不会登出 1.修改:vim ~/.bash_profile 2.设置TMOUT值 TMOUT=600 #表示10分钟之后自动登出 TMO ...

  9. ubuntu(linux)如何安装nginx?

    之前要在linux下面安装nginx,弄了半天,终于搞定了,下面给大家详细一下安装流程及安装报错解决方案: 安装共分为5步搞定: 1.进入src目录(下载存放目录)      cd /usr/loca ...

  10. 常见 linux 命令

    1.find find . //列出当前目录及子目录下的所有文件和文件夹 find /home -name "*.txt" //在/home目录下查找以.txt结尾的文件名或路径 ...