grep命令的使用

grep是UNIX和LINUX中使用最广泛的命令之一。grep允许对文本文件进行模式查找。如果找到匹配模式,grep打印包含模式的所有行。grep支持基本正则表达式,也支持其扩展集。grep有三种变

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

 grep是UNIX和LINUX中使用最广泛的命令之一。grep允许对文本文件进行模式查找。如果找到匹配模式, grep打印包含模式的所有行。grep支持基本正则表达式,也支持其扩展集。grep有三种变形,即:

grep:标准grep命令,这里主要讨论此格式;

Egrep:等同于grep -E,扩展grep,支持基本及扩展的正则表达式;

Fgrep:等同于grep -F,不支持正则表达式,允许查找字符串而不是一个模式。

   grep有很多选项可供使用,有问题找“男人”,会有详细说明,我这里只是说说我所使用到的,最近需要写一些shell脚本,在这过程中有用到grep命令。下面就是几种使用场景:

1.  查找A目录下所有文件中特定内容是否在B目录下对应文件中存在

   解决办法:借助grep把A目录下每个文件里特定内容输出到另外一个文件中,B目录同样处理,使用命令:

   grep  “define” fileA > listA

   grep  “define” fileA > listB

   因为define后面的部分内容不一样,我们的目的是找出类似define(“TEST_A”,”testa”);格式而文件没有TEST_A的部分,当然里面有很多不同的define语句。如果使用diff命令来对比的话难以应付,所以可以使用windows下的BeyondCompare工具进行人工比对,不同的内容会标红一目了然,那么至少在逗号前面相同部分是不会标红的,关于这个工具还有更多的用处,感兴趣的可以搜索一下。

2.  要对某目录下除了个别文件外的所有内容打包压缩

   解决办法:使用grep -v注意是小写的v,意为不包含匹配的行,而大写的V意为版本。

   完整命令可以写为:

   ls PATH | grep -v ‘.log’ | grep -v ‘.tar.gz’ > tar.list

   目的把需要打包的文件及目录名(排除.log及.tar.gz后缀名文件)写入tar.list

   第二步即进行打包操作:

   cat tar.list | xargs tar -zcvf target.tar.gz

   把cat出的结果作为参数传入管道后面执行打包命令,这也是xargs的用法.

http://hovertree.com/menu/linux/

3.  找出目录下最新的满足”target_数字”格式的目录

   解决办法: 使用grep -e当然使用-E也可以。

   完整命令为:

   ls PATH –sort=time | grep -e  resource_\d* | head -1

   使用ls的选项–sort=time时间排序排列,而head即是获取命中的第一部分。

推荐:http://www.cnblogs.com/roucheng/p/3470287.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120516.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • laravel 5 自定义全局函数,怎么弄呢?

    laravel 5 自定义全局函数,怎么弄呢?

    2021年10月26日
    43
  • pycharm 激活码3月最新在线激活

    pycharm 激活码3月最新在线激活,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    34
  • 周星驰算巨星吗_国际巨星女明星

    周星驰算巨星吗_国际巨星女明星4月1日,国际著名的技术先锋人物、领先的反病毒厂商卡巴斯基实验室的创始人&CEO尤金•卡巴斯基与巨星成龙一起,在北京奥运会中的标志性建筑“鸟巢”,举办了“卡巴斯基诚献-‘龙的传人’成龙和他的朋友们2009北京大型演唱会”的媒体见面会。在现场,尤金•卡巴斯基与成龙共同宣布,“卡巴斯基诚献-龙的传人-成龙和他的朋友们北京演唱会”将在一个月之后,也就是五月黄金周在“鸟巢”盛大开唱。这是卡巴…

    2022年8月20日
    6
  • python进阶(22)pydantic–数据类型校验

    python进阶(22)pydantic–数据类型校验pydantic库的作用pydantic库是一种常用的用于数据接口schema定义与检查的库。Pydantic在运行时强制执行类型提示,并在数据无效时提供用户友好的错误信息。pydantic安

    2022年7月29日
    17
  • BAPI 一些笔记

    BAPI 一些笔记BAPI的结构,BAPI里的代码可以分为这样两部分:1、一部分是数据校核,检查传入的数据是否满足创建相关业务对象的条件,并且把错误消息反馈出来;2、另一部分是更新数据库,即UPDATE/INSERT/DELETEdbtab这样的操作。1BAPI的优点bapi是面向对象的设计;bapi是固定的,一般不能修改;bapi可以被sap内部部件和非sap程序使用;bapi的成功和错误信息始终通过RETURN返回;bapi可以被许多开发平台使用;2何时该考虑使用BAPI设计

    2022年7月24日
    9
  • armv6、armv7、armv7s及arm64

    armv6、armv7、armv7s及arm64指令集:指令集是存储在CPU内部,对CPU运算进行指导和优化的硬程序。拥有这些指令集,CPU就可以更高效地运行。Intel有x86,EM64T,MMX,SSE,SSE2,SSE3,SSSE3(SuperSSE3),SSE4.1,SSE4.2,AVX。AMD主要是x86,x86-64,3D-Now!指令集。Arm处理器,因为其低功耗和小尺寸而闻名,几乎所有的手机处理器都基

    2022年6月15日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号