আপনি স্থানান্তর করতে চান অথবা একই নির্দেশিকাতে সব ফাইল কপি থাকে, তাহলে আপনি ব্যবহার করতে পারেন -t
বিকল্প cp
বা mv
, কিন্তু এই অর্থ আপনি টাইপ / একটি আর্গুমেন্ট হিসাবে একে ফাইলের নাম সরবরাহ আছে। এটি আপনার পছন্দমতো আর্গুমেন্টের সাথে নিম্নোক্ত পদ্ধতিতে কাজ করে:
cp -t /destination/directory/ file1 file2 file3
অথবা
mv -t /destination/directory/ file1 file2 file3
এটি বেশ শ্রমসাধ্য, তবে ফাইলের নাম টাইপ করা বাশের ট্যাব সমাপ্তি ব্যবহার করে আরও সহজ করা যায় ।
বিকল্পভাবে নিম্নলিখিত বাশ স্ক্রিপ্টটি প্রথম আর্গুমেন্ট হিসাবে প্রদত্ত ডিরেক্টরিতে সমস্ত ফাইল সন্ধান করবে এবং দ্বিতীয় আর্গুমেন্ট হিসাবে নির্বাচিত ফাইলগুলি গন্তব্য ডিরেক্টরিতে অনুলিপি করবে।
এটি প্রতিটি ফাইল চেক করে এবং আপনি সেই ফাইলটি অনুলিপি করতে চান কিনা তা জিজ্ঞাসা করে। ফাইল নির্বাচনের শেষে এটি নির্বাচিত ফাইলগুলির একটি তালিকা দেখায় এবং জিজ্ঞাসা করে যে আপনি সেগুলি গন্তব্য ডিরেক্টরিতে অনুলিপি করতে চান:
#!/bin/bash
directory=$1
destination=$2
selected_files=()
for f in ${directory}/*
do
if [[ -f $f ]]
then
while true
do
read -p "Would you like to copy ${f}? y/n: " choice
case $choice in
y|Y) selected_files+=("$f");
break ;;
n|N) echo "${f} will not be copied.";
break ;;
*) echo "Invalid choice, enter y/n: " ;;
esac
done
fi
done
echo "The following files will be copied to ${destination}."
for file in "${selected_files[@]}"
do
echo "$file"
done
while true
do
read -p "Are these the correct files? y/n: " confirm
case $confirm in
y|Y) break ;;
n|N) echo "Exiting filechooser"; exit 1 ;;
*) echo "Invalid choice, enter y/n: " ;;
esac
done
cp -t "$destination" "${selected_files[@]}"
এই স্ক্রিপ্টটিতে গন্তব্য ডিরেক্টরি উপস্থিত রয়েছে কিনা, বা আপনি সঠিক যুক্তিগুলি ইনপুট করেছেন কিনা তা পরীক্ষা করার ক্ষেত্রে কোনও ত্রুটি নেই বলে সতর্ক করে দেওয়া উচিত।