Varsayarsak $filebir dosya adının bir değeri tutan, demek Dr' A.tif. Bash programlamada, özel karakteri $filekaldırmadan tek tırnak ve diğer özel karakterlerden nasıl kaçabilirim ?
9 Temmuz 2014 Güncellemesi
As @Gilles talebi kolu mümkün değildir kod parçacığı ardından, 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}
Ben denedim sonra @Patrick gelen cevap üzerine line 1, bu benim için işe görünmektedir. Ama eğer böyle bir dosyam varsa Dr\^s A.tif,printf komut yardımcı görünmüyor, bana gösteriyor Dr\^s\ A.tif. El ile konsolda böyle denerseniz:
printf "%q" "Dr\^s A.tif"
Ben bu çıktı olacak:
Dr\\\^s\ A.tif
Bunun nasıl ele alınacağı hakkında bir fikrin var mı?