Копирование содержимого файла[РЕШЕНО]
Gentoo-начало 28 июля, 2009 - 23:52
Есть файл comm.out(внутри список путей к файлам).
Нужно передать все пути команде cp (что бы она скопировала файлы).
#cat /home/user/comm.out > cp -avu --copy-contents /mnt/disk/root/
bash: cp: Отказано в доступе
Вопрос:
Как грамотно передать вывод cat /home/user/comm.out
»
- Для комментирования войдите или зарегистрируйтесь
А скрипт из под рута
А скрипт из под рута запускаете, а то такое впечатление что в /mnt/disk/root/ нет доступа, или вообще к самому cp
man xargs
man xargs
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
cp `cat /home/user/comm.out`
cp `cat /home/user/comm.out` /mnt/disk/root
как вариант.
обратите внимание на то какие используются кавычки
:) Только как вариант, может
:) Только как вариант, может и не пройти. (Ограничение по длинне команды)
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
cp `cat /home/user/comm.out`
cp `cat /home/user/comm.out` /mnt/disk/root
Как и предполагалось не прокатило,сославшись на большое количество агрументов.
зато прекрасно сработало
cat /home/user/comm.out | xargs -i -t cp -avu --copy-contents /mnt/massiv/ /mnt/disk/root/
можно было ещё for i in `cat
можно было ещё
for i in `cat file`; do cp $i /dest; done
башизмы какие то . сколько
башизмы какие то .
сколько будет работать и сожрет памяти,ладно ресурсы нынче дешевы.
П.С можно еще кучу способов прибумать, мой тоже наверно не идеален , но не зависит от оболочки.
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
for i in `cat file`; do cp $i
не прокатит, если есть пробелы в указанных путях...
в таком случае можно использовать: