您的位置:首页 > 运维架构 > Shell

bash脚本筛选出根目录下所有ELF文件,并将路径输出

2017-05-22 20:25 225 查看
首先说明下我做这个bash脚本的目的

我需要从根目录下筛选出所有ELF文件,并将这类文件的路径整理成一个text文件,逐行读取text文件内的路径,依次将目标文件反汇编,并筛选将符合条件的文件路径输出到另一个text文件中

#!/bin/sh

find / -type f -exec file {} \; | grep "\<ELF\>" | awk -F ':' '{print $1}' >>ELFfile

cat ELFfile | while read line
do
if objdump -d $line | grep  "\<aesenc\>\|\<aesenclast\>";then

printf "%s\n" $line >>test3

fi
done


line1:声明这是sh文件

line3:利用find函数,/ 表示从根目录开始搜索,-type f 表示查找普通文件 (-type    b/d/c/p/l/f    #分别表示查找块设备、目录、字符设备、管道、符号链接、普通文件)  

-exec file {} \;  表示find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为-exec
'command' { } \;,注意{ }和\;之间的空格。

| 表示管道

grep
"\<ELF\>" 表示全匹配,\< 表示以ELF开头, \>表示以ELF结尾

awk
-F ':' '{print $1}' 表示以:为分隔符,print $1 输出第一部分

 >> 表示输出到ELFfile文件中

line5:cat 表示获取ELFfile文件,通过 | 管道,传输给一个while...do...done循环

line7:进入if...then...fi 循环,objdump -d 用于反汇编, grep "\<...\>|\<...\>"最中间的| 用于表示或

最后结果
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell bash 脚本 汇编
相关文章推荐