Вам не нужно заключать в кавычки каждый элемент пути.
В текстовом файле со списком путей кавычек лучше не будет просто имена файлов как они есть:
/media/tfrd/Disk06_01_M/Disk02_01_X/x_images and camera/vernon pics_other/office_PBWT4_YBP6D-7wmff_bpwg4_2vgby/office pro disk 2/BCM/Program Files/Microsoft Small Business/Business Contact Manager/SDKComponents/PPCRL/
/media/tfrd/Disk06_01_M/Disk02_01_X/x_images and camera/vernon pics_other/office_PBWT4_YBP6D-7wmff_bpwg4_2vgby/office pro disk 2/SBA/program files/Microsoft Small Business/Office Accounting 2008/SDKComponents/PPCRL/
А затем напишите вот такой скрипт:
#!/bin/bash
file="/home/tfrd/Desktop/filesync/rsync/test_data_01.txt"
while IFS=$'\n' read -r line
do
rsync --protect-args --include '*.jpg' --include '*.JPG' --exclude '*/*/.' --prune-empty-dirs "$line" /home/rsync/dir2
done < "$file"
Вот именно. Обратите внимание, что $line
заключен в "..."
при использовании в качестве аргумента пути для rsync
. Это обеспечит правильную обработку любых встроенных пробелов и других специальных символов. Все содержимое внутри "..."
рассматривается как одно значение, вот почему это работает.
Как вы можете видеть здесь, вы можете перейти к началу файла № 3 с помощью:
$ mt -f /dev/st0 fsf 2
ПРИМЕЧАНИЕ: перед выполнением этой команды необходимо перемотать ленту.
Кроме того, как уже предложил Марк, вы можете использовать:
$ mt -f /dev/st0 asf 2
asf
эквивалентно rewind + fsf
.