Friday, 15 February 2013

how to get file names using find in shell script -



how to get file names using find in shell script -

i have log files named sms_18_06_2014_15_03_43.log, sms_18_06_2014_15_03_00.log, sms_18_06_2014_15_03_21.log.

when using find *18_06_2014_15_03*.log* able find file names time stamp. when using shell script giving me 0.

here script

logger_path=/full_logger_path file_stamp_1=$(date --date="75min ago" +"%d_%m_%y_%h_%m") file_stamp_2=$(date --date="74min ago" +"%d_%m_%y_%h_%m") file_stamp_3=$(date --date="73min ago" +"%d_%m_%y_%h_%m") file_stamp_4=$(date --date="72min ago" +"%d_%m_%y_%h_%m") file_stamp_5=$(date --date="71min ago" +"%d_%m_%y_%h_%m") file_stamp_6=$(date --date="70min ago" +"%d_%m_%y_%h_%m") file_stamp_7=$(date --date="69min ago" +"%d_%m_%y_%h_%m") file_stamp_8=$(date --date="68min ago" +"%d_%m_%y_%h_%m") file_stamp_9=$(date --date="67min ago" +"%d_%m_%y_%h_%m") file_stamp_10=$(date --date="66min ago" +"%d_%m_%y_%h_%m") file_stamp_11=$(date --date="65min ago" +"%d_%m_%y_%h_%m") file_stamp_12=$(date --date="64min ago" +"%d_%m_%y_%h_%m") file_stamp_13=$(date --date="63min ago" +"%d_%m_%y_%h_%m") file_stamp_14=$(date --date="62min ago" +"%d_%m_%y_%h_%m") file_stamp_15=$(date --date="61min ago" +"%d_%m_%y_%h_%m") in {1..15} set file_stamp_$i echo ${!1} mins_log_files=`find -name $logger_path/*${!1}*.log* -atime -75 | sort | uniq -d`; log_file_count=`echo "$mins_log_files" | wc -w` echo "log_file_count = $log_file_count" done

please guide me how can specific file names time stamp.

finally got reply here updated , working script. remove -atime -75 | sort | uniq -d portion of command.

logger_path=/full_logger_path file_stamp_1=$(date --date="75min ago" +"%d_%m_%y_%h_%m") file_stamp_2=$(date --date="74min ago" +"%d_%m_%y_%h_%m") file_stamp_3=$(date --date="73min ago" +"%d_%m_%y_%h_%m") file_stamp_4=$(date --date="72min ago" +"%d_%m_%y_%h_%m") file_stamp_5=$(date --date="71min ago" +"%d_%m_%y_%h_%m") file_stamp_6=$(date --date="70min ago" +"%d_%m_%y_%h_%m") file_stamp_7=$(date --date="69min ago" +"%d_%m_%y_%h_%m") file_stamp_8=$(date --date="68min ago" +"%d_%m_%y_%h_%m") file_stamp_9=$(date --date="67min ago" +"%d_%m_%y_%h_%m") file_stamp_10=$(date --date="66min ago" +"%d_%m_%y_%h_%m") file_stamp_11=$(date --date="65min ago" +"%d_%m_%y_%h_%m") file_stamp_12=$(date --date="64min ago" +"%d_%m_%y_%h_%m") file_stamp_13=$(date --date="63min ago" +"%d_%m_%y_%h_%m") file_stamp_14=$(date --date="62min ago" +"%d_%m_%y_%h_%m") file_stamp_15=$(date --date="61min ago" +"%d_%m_%y_%h_%m") in {1..15} set file_stamp_$i echo ${!1} mins_log_files=`find $logger_path/${!1}*.log*`; log_file_count=`echo "$mins_log_files" | wc -w` echo "log_file_count = $log_file_count" done

but here next question why find not checking file names sort , uniq commands. can explain me this?

shell

No comments:

Post a Comment