>>>>>>>>>>>查找搜索的一些组合用法:
find grep xargs exec的组合用法:
---------------------------------------------------------------------------------------------------
1. 查找所有".h"文件
find /PATH -name "*.h"
2. 查找所有".h"文件中的含有"helloworld"字符串的文件
find /PATH -name "*.h" -exec grep -in "helloworld" {} /; -print
3. 查找所有".h"和".c"文件中的含有"helloworld"字符串的文件
find /PATH /( -name "*.h" -or -name "*.c" /) -exec grep -in "helloworld" {} /; -print
4. 查找非备份文件中的含有"helloworld"字符串的文件
find /PATH /( -not -name "*~" /) -exec grep -in "helloworld" {} /; -print
5查找一个文件名字,然后删除之
find ./ -name filename -exec rm {} \;
---------------------------------------------------------------------------------------------------
grep命令系统调用
grep是Linux/Unix中使用最广泛的命令之一,许多Linux系统内部都可以调用它。
(1)如果要查询目录列表中的目录,方法如下:
$ ls -l | grep ''∧d''
(2)如果在一个目录中查询不包含目录的所有文件,方法如下:
$ ls -l | grep ''∧[∧d]''
(3)用find命令调用grep,如所有C源代码中的“Chinput”,方法如下:
$find /ZhXwin -name *.c -exec grep -q -s Chinput {} ;-print
grep查找中条件的使用:
[aa@localhost ~]$ df -hT |grep 'sda1/|sda3'
/dev/sda3 ext3 225G 162G 52G 76% /
/dev/sda1 ext3 122M 12M 104M 11% /boot
[aa@localhost ~]$ df -hT |grep -e "sda1" -e "sda3"
/dev/sda3 ext3 225G 162G 52G 76% /
/dev/sda1 ext3 122M 12M 104M 11% /boot
---------------------------------------------------------------------------------------------------
使用xargs:
在当前目录下所有cpp文件里面查找efg函数:
find . -name "*.cpp" | xargs grep 'efg'
其中:xargs展开find获得的结果,使其作为grep的参数.例如:find . -name "Android.mk" | xargs grep 'libexif'
删除当前目录下所有.cpp文件
find . -name "*.cpp" | xargs rm
当前目录的文件中包含字符aaa的行数:
find . -exec grep aaa {} | wc -l
>>>>>>>>>>>修改ramdisk.img的流程。经常需要修改这个东西,用脚本比较方便。
其实ramdisk.img的内容就是/opt/froyo/out/target/product/generic/root的压缩而已