উত্তর:
নিম্নলিখিত স্ক্রিপ্টটি ব্যবহার করুন এবং আপনার .7z
ফাইলগুলি যেখানে রয়েছে সেখান থেকে চালনা করুন :
#!/bin/bash
TMPDIR=tempdir_$$
for x in `ls *.7z`; do
mkdir $TMPDIR
cd $TMPDIR
cp ../$x .
p7zip -d $x
zip -r ../${x%.7z}.zip *
cd ..
rm -rf $TMPDIR
done
এটি আপনার .7z
ফাইলগুলি যেখানে রয়েছে সেগুলি ছেড়ে দেবে এবং .zip
একই নামে ফাইলগুলি তৈরি করবে।
স্ক্রিপ্ট .7z
ফাইলগুলি বের করার আগে অস্থায়ী ডিরেক্টরিতে অনুলিপি করে কারণ তারা সাধারণত ফাইলগুলি সংক্ষেপিত করার পরে মুছে ফেলা হয়।
আমি স্ক্রিপ্টটি যতটা সম্ভব সহজ করে রেখেছি যাতে আপনি সহজেই অনুধাবন করতে পারেন যে এটি কীভাবে কাজ করে।
স্ক্রিপ্টটি কেবল .7z
এমন ফাইলগুলির সাথে কাজ করবে যেগুলির নামে কোনও স্থান বা অন্য বিশেষ অক্ষর নেই।
আপনি সহজেই সেই arepack
সরঞ্জামটি ব্যবহার করতে পারেন যা সরঞ্জামের অটল স্যুট অংশ। এটি সাধারণত একটি yum install atool
বা apt-get install atool
। এটি উপলভ্য হলে আপনি কেবল এটি করতে পারেন:
$ arepack -e -F zip *.7z
এটি সমস্ত .7z ফাইলকে .zip ফাইল হিসাবে রূপান্তর করবে। আপনার এখনও * .7z ফাইলগুলি মুছতে হবে, তবে এটি কেবল এর মতো করা যেতে পারে:
$ rm -f *.7z
Options:
-e, --each execute command above for each file specified
-F, --format=EXT override archive format (see below)
-O, --format-option=OPT give specific options to the archiver
-D, --subdir always create subdirectory when extracting
-f, --force allow overwriting of local files
-q, --quiet decrease verbosity level by one
-v, --verbose increase verbosity level by one
-V, --verbosity=LEVEL specify verbosity (0, 1 or 2)
-p, --page send output through pager
-0, --null filenames from standard in are null-byte separated
-E, --explain explain what is being done by atool
-S, --simulate simulation mode - no filesystem changes are made
-o, --option=KEY=VALUE override a configuration option
--config=FILE load configuration defaults from file
Archive format (for --format) may be specified either as a
file extension ("tar.gz") or as "tar+gzip".