откройте файл и скопируйте перечисленные файлы в другую папку

webdav запись появляется в списке каталогов для /mnt, но когда ls попытки считать inode /mnt/webdav, сказано, что никакой такой файл не существует. Контраст:

# \ls /mnt
webdav
# ls
ls: cannot access webdav: No such file or directory
webdav

Это - любой псевдоним, для которого Вы используете ls (обычно ls -F или ls --color) порождение ls считать метаданные по /mnt/data (вызов stat(2)) и сбой.

Wdfs испытывает затруднения при соединении с сервером. Для наблюдения, какова ошибка проверьте системные журналы или попытку выполнить wdfs в более подробном режиме или ищейку на сетевом трафике.

2
01.09.2017, 03:42
2 ответа

Ваш формат предполагает, что никакие имена файлов не имеют новые строки в них, который не идеален (новые строки законны в именах файлов). Вы также не упоминаете свою оболочку. Однако в оболочке POSIX, можно сделать это:

while IFS= read -r file; do
    cp -- "$file" new_dir/
done < file

В ударе это могло бы быть быстрее для передачи их всех CP сразу, однако (как долго, как Вы ниже ARG_MAX):

files=()

while IFS= read -r file; do
    files+=( "$file" )
done < file

cp -- "${files[@]}" new_dir/

... или, то же самое, если у Вас есть bash4 +:

mapfile -t files < file
cp -- "${files[@]}" new_dir/
4
27.01.2020, 21:53
  • 1
    я ввел Ваши строки в файле, и выполните тот файл. Я думаю, что моя оболочка является ударом, но Ваше предложение не работало. файлы –  Crystal 30.08.2013, 17:55
  • 2
    mapfile-t <filecp "$ {файлы}"/ettdd/specs/tpl/temp_tfrw2 –  Crystal 30.08.2013, 17:56
  • 3
    Извините я означал говорить: mapfile-t файлы <$ "CP /ettdd/SPECS/tpl/list_TFRW2.txt {файлы}"/ettdd/specs/tpl/temp_tfrw2 –  Crystal 30.08.2013, 17:56
  • 4
    @Crystal, Из чего вывод echo "$0"; echo "$BASH_VERSION"? Попробуйте первый пример вместо этого, он должен работать в любой оболочке POSIX. mapfile пример только продолжит работать bash4+. Какие сообщения об ошибках печатаются? –  Chris Down 30.08.2013, 18:09
  • 5
    я сохраняю Ваш первый набор кодов в файле, названном cpNmv, и выполняю его. Ошибка: cpNmv: синтаксическая ошибка в строке 5: 'сделанный' неожиданный –  Crystal 30.08.2013, 18:46

С инструментами GNU:

xargs -rd '\n' cp -t /dest/folder -- < file1.txt

POSIXly:

sed 's/./\\&/g' < file1.txt | xargs sh -c 'exec cp -- "$@" /dest/dir' sh
3
27.01.2020, 21:53
  • 1
    списков Для вышеупомянутого предложения с помощью sed, где я должен использовать file1.txt? –  Crystal 30.08.2013, 19:26

Теги

Похожие вопросы