Як зробити копію з список файлів на Linux?

K

klug

Guest
Деякі проблеми: У мене є каталог з файлами на ньому. Також у мене є якийсь файл зі списком файлів для копіювання. Як скопіювати тільки файли з цього списку? Я зробив кілька Баш скрипт: ------------------------- # / BIN / Bash # # SORCEDIR = / головна / Danny / файли / TARGETDIR! = / home/danny/files2 / ALIST = / головна / Danny / filelist.txt FILELIST = `кішка $ ALIST` для NAME в $ FILELIST зробити CP $ SORCEDIR $ NAME $ TARGETDIR зроблено ----------- ------------- Але цей сценарій не працює належним чином, якщо ім'я файлу має місця на ньому (наприклад, "Остання Doc.pdf"). Як зробити правильний сценарій? Спасибо заранее. Клуг.
 
Ви отримуєте в compicated щоб зробити це. ср recives довільній архівів розділених пробілом і останній аргумент її отримує свою мету. ср file_1_ext file_2.ext ... filen_ext target_dir / І простір річ на * nix це trated як особливий carater так що вам потрібно поставити перед ним \\, я рекомендую не використовувати пробіли в іменах і замінюючи _ Тому що, якщо ви працюєте, часто в * ш ви побачите, що ви стають все більше 2 алфавіт ввести, навіть з TAB ... це, мовляв, робота .... Я думаю, ви можете здогадатися, відпочивати ... : D
 
Так, я знаю, що краще, щоб уникнути пробілів в іменах файлів, але у мене є ця проблема і я не можу змінити імена файлів і список. Я вирішив цю проблему таким чином: ------------------------- # / BIN / Bash # # SORCEDIR = / головна / Danny / файлів / TARGETDIR = / home/danny/files2 / ALIST = / головна / Danny / filelist.txt кд $ SORCEDIR смоли CVF - - файли-від $ ALIST | (кд $ TARGETDIR; смоли xvf -) ------- -----------------
 
HAHAHAH goood спосіб зробити це, як і раніше itsn't кращим чином, може бути, ви могли б використовувати фільтр. (Це з MySQL, але в річному обчисленні може використовувати його) замінити \\ \\ б \\ \\ \\ - filelist.txt \\ Ь перемикач, який замінить потрібно знайти прогалини послуги для покупців \\ є добре відомих причин, може бути, ви можете розмістити \\ ( простір) тут, я не впевнений, що \\ \\ ставить \\ в файл і \\ (пропуск) ставить простір у файлі. Саме тому \\ \\ \\ (пропуск) Це робота з перекладу простору Там у ще кращий спосіб це зробити, це канал, який транслює на льоту, але я не пам'ятаю дуже добре, тому я не балуватися з ним прямо зараз
 
Спасибі, deepspawn, я теж шукав заміну "", але не знайшли шляхи ... Існує немає "замінити" команди в моїй Slackware Linux. : (У всякому разі, спасибі за вашу ідею, я буду тримати його на майбутнє;) найкращими побажаннями! Клуг.
 

Welcome to EDABoard.com

Sponsor

Back
Top