shell 实现遍历文件,指令命令 and 写入文件

参考链接:https://blog.csdn.net/lyxleft/article/details/82222452

需求:遍历目录下的所有后缀为bin的文件,利用strings命令输出文件内包含的字符串。

for file in ./*
do
    if [ "${file##*.}"x = "bin"x ]
    then
    filename=`basename $file`
    temp_filename=`basename $file  .bin`
    suf=.txt
    new_filename=${temp_filename}${suf}
    echo "==========================================" >> ${new_filename}
    echo $filename >> ${new_filename}
    #cmd="awk '/AT/{print}' ${filename} >> ${new_filename}"
    cmd="strings ${filename} > ${new_filename}"
    eval $cmd
    fi
#    printf "no!\n "
done

需求:遍历目录下所有后缀为txt的文件,利用awk命令获取包含目标字符串的字符串,写入到一个文件中。

for file in ./*
do
    if [ "${file##*.}"x = "txt"x ]
    then
    filename=`basename $file`
    temp_filename=`basename $file  .txt`
    suf=AT
    new_filename=${suf}
    echo "==========================================" >> ${new_filename}
    echo $filename >> ${new_filename}
    cmd="awk '/AT/{print}' ${filename} >> ${new_filename}"
    #cmd="strings ${filename} > ${new_filename}"
    eval $cmd
    fi
#    printf "no!\n "
done

这里寻找的字符串是"AT",输出的文件名称也是AT。

PS: 符号: >  代表的是覆盖输出。

       符号:>> 代表的是追加输出。

 

你可能感兴趣的:(工具脚本)