先说明下我做的事儿,
在test2文件下包含了文件路径和文件名,我需要将路径之间的/ 改成_ 并用它作为文件名创建文件,将路径下的文件反汇编,筛选内容放入新创建的文件中
代码如下
#!/bin/bash
cat test2 | while read line
do
fn=${line_}
fn=${fn/_/}
objdump -d $line | grep "\<aesenc\>" | grep -v ">:" > $fn
if [ ! -s $fn ]
then
rm -f $fn
fi
done
line4: ${line_} 表示读取每行的路径,将/ 改成_ ,其中有两点需要注意,一,一般换字符只需要line/1/2即可,即只需要两个/ ,但是由于我们需要换的是/ ,它具有特殊性,故而我们需要写两个/ 去确认所要换的字符; 二,当你用/时,请注意第一行就必须明确是bash,因为ubuntu自带的shell的用法在此处和bash不同,相冲突
line5:其实line5的语法和line4一致,只不过它意指将第一个_换成无
line7:判断文件是否为空,-s 显示size,如果为空,则直接用rm -f ,remove了文件