bash脚本筛选出根目录下所有ELF文件,并将路径输出
2017-05-22 20:25
225 查看
首先说明下我做这个bash脚本的目的
我需要从根目录下筛选出所有ELF文件,并将这类文件的路径整理成一个text文件,逐行读取text文件内的路径,依次将目标文件反汇编,并筛选将符合条件的文件路径输出到另一个text文件中
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 "\<...\>|\<...\>"最中间的| 用于表示或
最后结果
我需要从根目录下筛选出所有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 "\<...\>|\<...\>"最中间的| 用于表示或
最后结果
相关文章推荐
- bat脚本5_获得当前目录下所有文件的相对路径
- PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)
- PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)
- bash获取特定目录下所有文件的全路径
- 【Python】遍历某目录下的所有文件夹与文件的路径、输出中文乱码问题
- 文件的两种递归操作 删除目录下所有文件和输出目录下所有文件路径和名
- python输出指定目录下所有文件(全路径),并核对md5码
- 遍历目录所有文件并找出大小为0的文件路径 的脚本
- IO流_递归输出指定目录下所有的java文件的绝对路径案例
- 编写一个SHELL脚本,可以获得指定目录下的所有文件及文件夹的大小。输出的样式与 ls -lh 命令相同。
- shell脚本输出文件夹下所有目录的绝对路径
- java 输出给定路径下的所有文件(目录树)
- shell 脚本,将/etc/目录下所有的软链接文件输出
- Java基础知识强化之IO流笔记14:递归之输出指定目录下所有java文件绝对路径的案例
- Perl脚本递归替换所有指定目录指定文件类型中的指定模式
- 读取电脑所有磁盘文件并输出路径
- Perl脚本:列出目录下所有的文件扩展名(后缀名)
- 读取电脑所有磁盘文件并输出路径
- Linux C :遍历输出指定目录下的所有文件
- Asp.net 获取指定目录下的后缀名为".doc" 的所有文件名和文件路径