ফাইল অনুলিপি এবং সৃষ্টির তারিখ দ্বারা তাদের নামকরণ


2

আমার কয়েকটি ডিরেক্টরি রয়েছে (1 স্তর) যে নির্দিষ্ট সময়ে আমার সার্ভারে যোগ করা হয়েছে। সমস্যা হল, তারা একটি র্যান্ডম হ্যাশ হিসাবে নামকরণ করা হয়।

প্রক্রিয়াতে আসল ডিরেক্টরি তৈরি তারিখ দ্বারা কোথাও কপি করা এবং পুনঃনামকরণ করা কি সম্ভব হবে?


এই কোথাও পায় যদি দেখুন: stackoverflow.com/questions/4710753/...
TheUser1024

উত্তর:


2

আপনার সব ডিরেক্টরি যদি থাকে ~/foo, আপনি এই চালাতে পারেন (অনুমান আপনি যে সবকিছু নামকরণ করতে চান ~/foo ):

cd ~/foo
for dir in *; do 
    t=`stat -c %y "$dir" | awk '{print $1"-"$2}' | 
       cut -d ":" -f 1,2 | sed 's/://'`
    mv "$dir" "$t"_"$dir";
done

উদাহরণ স্বরূপ:

$ ls -gG
total 20
drwxr-xr-x 2 4096 Jun 20 14:41 a
drwxr-xr-x 2 4096 Jun 21 14:40 b
drwxr-xr-x 2 4096 May 16 14:57 c
drwxr-xr-x 2 4096 Jun 21 14:33 d
drwxr-xr-x 2 4096 May  3 16:15 e
$ for dir in *; do 
    t=`stat -c %y "$dir" | awk '{print $1"-"$2}' | 
       cut -d ":" -f 1,2 | sed 's/://'`
    mv "$dir" "$t"_"$dir";
done
$ ls -gG
total 20
drwxr-xr-x 2 4096 May  3 16:15 2013-05-03-1615_e
drwxr-xr-x 2 4096 May 16 14:57 2013-05-16-1457_c
drwxr-xr-x 2 4096 Jun 20 14:41 2013-06-20-1441_a
drwxr-xr-x 2 4096 Jun 21 14:33 2013-06-21-1433_d
drwxr-xr-x 2 4096 Jun 21 14:40 2013-06-21-1440_b

এখানে কৌশল ব্যবহার করা হয় stat পরিবর্তনশীল পরিবর্তন সময় সংরক্ষণ করুন $t তাই আমরা একটি নাম হিসাবে এটি ব্যবহার করতে পারেন। আপনি যদি ডিরেক্টরিগুলির সংশোধন তারিখগুলি সংরক্ষণ করতে চান এবং শুধুমাত্র নামটি পরিবর্তন করতে চান তবে কিছু করুন:

for dir in *; do 
    old=`mktemp` && touch -r "$dir" $old
    t=`stat -c %y "$dir" | awk '{print $1"-"$2}' | 
       cut -d ":" -f 1,2 | sed 's/://'`
    mv "$dir" "$t"_"$dir"; 
    touch -r $old "$t"_"$dir";
done

এই টার্মিনালে কাজ করা উচিত? আমার প্রশ্ন তাকান দয়া করে এখানে.
geordie

@ জর্ডি না, এখানে কিছু বিকল্প OSX এ উপলব্ধ হবে না। এটা আমার সময় অঞ্চলে খুব দেরী কিন্তু আমি আগামীকাল একটি উত্তর দিতে চেষ্টা করব।
terdon
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.