Я знаю, что это пара дней назад, но я не уверен, что циклы оболочки необходимы, так как команда sed может прочитать весь файл самостоятельно, прежде чем использовать что-то вроде xargs для объединения всех файлов в одна команда mv:
prev_dir=/cygdrive/c/Users/abhisek.samanta/Desktop/Table_scripts
new_dir=/cygdrive/c/Users/abhisek.samanta/Desktop/New
cd ${prev_dir}
sed 's/\r$//' filelist | xargs mv -t $new
Здесь, используя указанные каталоги, и найденная вами команда sed
работает, тогда, поскольку все передается по конвейеру в xargs
, она добавит каждую строку из канал на команду mv
, которая может принимать несколько файлов и затем перемещать их все в каталог, указанный с помощью флага -t
$ > cat movefile.sh
new="$(pwd)/dir1/"
sed 's/\r$//' filelist | xargs mv -t $new
$ > cat -v filelist
file1^M
file2^M
file3^M
$ > touch file{1,2,3}
$ > ls -l
total 16
drwxr-xr-x 2 grownups users 4096 Jan 1 22:29 dir1
-rw-r--r-- 1 grownups users 0 Jan 1 22:30 file1
-rw-r--r-- 1 grownups users 0 Jan 1 22:30 file2
-rw-r--r-- 1 grownups users 0 Jan 1 22:30 file3
-rw-r--r-- 1 grownups users 22 Jan 1 22:26 filelist
-rwxr--r-- 1 grownups users 61 Jan 1 22:29 movefile.sh
$ > ls dir1/
$ > ./movefile.sh
$ > ls -l dir1/
total 0
-rw-r--r-- 1 grownups users 0 Jan 1 22:30 file1
-rw-r--r-- 1 grownups users 0 Jan 1 22:30 file2
-rw-r--r-- 1 grownups users 0 Jan 1 22:30 file3
$ >
Когда дело доходит до резервного копирования, я настоятельно рекомендую использовать уже существующий инструмент, а не создавать свой собственный. Borg - очень хороший инструмент резервного копирования, который поддерживает шифрование и дешифрование в соответствии с описанными вами схемами использования (хотя и не с помощью пары ключей): вы можете создать резервное хранилище, которое зашифровано ключом, хранящимся в хранилище, защищенным парольной фразой, которую вы можете указать в переменной окружения при добавлении резервной копии. Таким образом, вы можете настроить автоматическое шифрование без какого-либо ввода (даже парольной фразы), но сам по себе носитель резервной копии бесполезен без парольной фразы.
Вы должны посмотреть на duplicity , который использует rsync
и gpg
для создания зашифрованных резервных копий. Они могут быть полными или инкрементными с добавлением только изменений.
Существует более удобный графический интерфейс deja-dup . Оба пакета должны быть доступны для большинства дистрибутивов Linux. Убедитесь, что вы где-то храните вторую копию ключа шифрования и время от времени проверяете возможность восстановления из резервных копий.