$file
একটি ফাইলের নামের মান ধরে নিচ্ছি , বলুন Dr' A.tif
। বাশ প্রোগ্রামিংয়ে, আমি কীভাবে একক উদ্ধৃতি এবং বিশেষ চরিত্রটি $file
সরিয়ে না রেখে এর অন্য কোনও বিশেষ চরিত্র থেকে বাঁচতে পারি ?
9 জুলাই 2014-এ আপডেট
@ গিলসের অনুরোধ হিসাবে নিম্নলিখিত কোড স্নিপেট যা পরিচালনা করতে সক্ষম নয় Dr' A.tif
:
files=$(find /path/ -maxdepth 1 -name "*.[Pp][Dd][Ff]" -o -name "*.[Tt][Ii][Ff]")
echo "${files}" > ${TEMP_FILE}
while read file
do
newfile=$(echo "${file}" | sed 's, ,\\ ,g') ## line 1
done < ${TEMP_FILE}
পরে আমি বাইরে চেষ্টা করেছি @Patrick থেকে উত্তর উপর line 1
, এটা আমার জন্য কাজ মনে হয়। কিন্তু আমি যদি যেমন ফাইল আছে Dr\^s A.tif
, printf
কমান্ড সাহায্যের বলে মনে হচ্ছে না, আমার দেখায় Dr\^s\ A.tif
। আমি যদি ম্যানুয়ালি এটির মতো কনসোলে চেষ্টা করি:
printf "%q" "Dr\^s A.tif"
আমি এই আউটপুট হবে:
Dr\\\^s\ A.tif
কোন ধারণা কীভাবে এটি পরিচালনা করবেন?