shell 遍歷文件——指令命令——寫入文件

參考鏈接: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: 符號: >  代表的是覆蓋輸出。

       符號:>> 代表的是追加輸出。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章