src_dir=$(pwd)/All_h dst_dir=$(pwd)/All diff_dir=$(pwd)/diff if [ ! -d $diff_dir ] then mkdir $diff_dir fi for src_full_entry in $src_dir/* do src_cat_entry=$(echo $src_full_entry | sed -e "s/\.[0-9a-rA-F]\{8\}$//") src_cat_entry=$(basename "$src_cat_entry") src_ivr_log="$src_full_entry/de_ivr.log" if [ -f "$src_ivr_log" ] then #echo "$src_cat_entry" dst_ivr_log=$(find $dst_dir -regextype posix-egrep -regex ".*/$src_cat_entry\.[0-9A-Fa-f]{8}/ivr.log$") #echo $dst_ivr_log if [ -f "$dst_ivr_log" ] then diff_ivr_log="$diff_dir/$src_cat_entry.diff" summary="$diff_dir/$src_cat_entry""_summary.txt" #echo $diff_ivr_log #diff -u "$src_ivr_log" "$dst_ivr_log" > "$diff_ivr_log" echo "" > "$summary" echo "##########################################################" >> "$summary" echo "$src_ivr_log:" >> "$summary" echo "##########################################################" >> "$summary" grep -i -n -A 20 "$src_cat_entry" "$src_ivr_log" >> "$summary" echo "" >> "$summary" echo "##########################################################" >> "$summary" echo "" >> "$summary" echo "##########################################################" >> "$summary" echo "$dst_ivr_log:" >> "$summary" echo "##########################################################" >> "$summary" grep -i -n -A 20 "$src_cat_entry" "$dst_ivr_log" >> "$summary" #diff -u "$src_ivr_log" "$dst_ivr_log" fi fi done
if we want to use regular expressions for find command, we can do it like this.
find $dst_dir -regextype posix-egrep -regex ".*/$src_cat_entry\.[0-9A-Fa-f]{8}/ivr.log$"
extract specified contents from two files.,布布扣,bubuko.com
extract specified contents from two files.
原文地址:http://www.cnblogs.com/long123king/p/3812225.html