查找包含特定文字的代码文件

用到的知识点,grep和awk

问题描述

搜索当前目录下所有的文件中包含user_name并且同行中包含rawurlencode的文件名,svn文件除外

grep -r user_name * |grep -v svn |grep rawurlencode|awk  -F ':' '{print $1}' |sort|awk ' BEGIN{m="";}  { if(m=="" || m!=$1){m=$1; print $1;} } ' > t

解释:

grep :

-r 代表递归查找

-v 不包含,去掉.svn记录行

awk:

-F 分隔符,把行以":"分开

print $1 打印输出第一段

{}称为执行体。
     如果m为空或者m不等于当前行的值,则把当前行的值给m,然后输出当前行。
     由于是排序的,所以下一行跟上一行比较,自然达到了去重的效果。

sort:

排序

> t 把输出写到文件t中

 

Tags: awk , grep

上一篇: showModelessDialog改造兼容firefox和ie   下一篇: 短域名代码实现

提交疑问

回顶部