Необходимо скопировать список файлов в указанные каталоги.
Список хранится в файле update.list и имеет следующий формат:
"/mnt/bla-bla/somefile" "/mnt/bla-bla2/"
"/mnt/bla-bla/somefile2" "/mnt/bla-bla3/"
Язык башей мне непонятен и sh файл не работает с ошибкой:
Пропущен операнд задающий целевой файл.
Как корректно передать в cp источник и получателя?
$ cp --help
Использование: cp [КЛЮЧ]... [-T] ИСТОЧНИК НАЗНАЧЕНИЕ
или: cp [КЛЮЧ]... ИСТОЧНИК... КАТАЛОГ
или: cp [КЛЮЧ]... -t КАТАЛОГ ИСТОЧНИК...
Копирует ИСТОЧНИК в НАЗНАЧЕНИЕ, или несколько ИСТОЧНИКОВ в КАТАЛОГ.
$ cp --help
Использование: cp [КЛЮЧ]... [-T] ИСТОЧНИК НАЗНАЧЕНИЕ
или: cp [КЛЮЧ]... ИСТОЧНИК... КАТАЛОГ
или: cp [КЛЮЧ]... -t КАТАЛОГ ИСТОЧНИК...
Копирует ИСТОЧНИК в НАЗНАЧЕНИЕ, или несколько ИСТОЧНИКОВ в КАТАЛОГ.
$ cat file
"1" "2"
list list2
$ while read line; do echo $line; cp -v $line; done < file
"1" "2"
cp: невозможно выполнить stat для «"1"»: Нет такого файла или каталога
list list2
«list» -> «list2»
$ while read line; do echo $line; cp -v "$line"; done < file
"1" "2"
cp: после «"1" "2"» пропущен операнд, задающий целевой файл
Попробуйте `cp --help' для получения более подробного описания.
list list2
cp: после «list list2» пропущен операнд, задающий целевой файл
Попробуйте `cp --help' для получения более подробного описания
Необходимо скопировать список файлов в указанные каталоги.
Список хранится в файле update.list и имеет следующий формат:
"/mnt/bla-bla/somefile" "/mnt/bla-bla2/"
"/mnt/bla-bla/somefile2" "/mnt/bla-bla3/"
sed -r 's/^"([^"]+)"\s+"([^"]+)"$/cp "\1" "\2"/ep' update.list