exo Posted February 23, 2008 Share Posted February 23, 2008 Здравейте Искам да изкопирам един файл в цяло дърво от под-директории, обратното го правя без проблем find ./ -name 'file' -exec rm '{}' \; -print Нещо подобно искам да направя обаче с cp ако може. Само че нещо бъркам като му задам destination. Ще може ли малко помощ в тази насока Link to comment Share on other sites More sharing options...
ov3rm4n Posted February 23, 2008 Share Posted February 23, 2008 find ./ -type d -exec cp your.file.name {} \; Идеята е да пуснеш файнд в основната директория, като му укажеш да търси само директории... после да изпълни ср във всяка една от тях.... Link to comment Share on other sites More sharing options...
exo Posted February 23, 2008 Author Share Posted February 23, 2008 find ./ -type d -exec cp your.file.name {} \; Идеята е да пуснеш файнд в основната директория, като му укажеш да търси само директории... после да изпълни ср във всяка една от тях.... EDIT: Да, да стана ... офф ама съм и аз ... Благодаря много Edit2: Нещо съм завеян днеска, сори Link to comment Share on other sites More sharing options...
ov3rm4n Posted February 23, 2008 Share Posted February 23, 2008 мхм... - или извади файла от нея и го копирай от друга директория... например... И един страничен въпрос.. ако това е файл, който често ще променяш, а трябва да го има във всяка директория - не е ли по-разумно да оставиш link към файла във всяка директория? Така при бъдеща промяна няма да ти се налага да го копираш отново по директориите... Link to comment Share on other sites More sharing options...
exo Posted February 23, 2008 Author Share Posted February 23, 2008 мхм... - или извади файла от нея и го копирай от друга директория... например... И един страничен въпрос.. ако това е файл, който често ще променяш, а трябва да го има във всяка директория - не е ли по-разумно да оставиш link към файла във всяка директория? Така при бъдеща промяна няма да ти се налага да го копираш отново по директориите... Да, така си е да, обаче да съм откровен досега просто не ми се е налагало да правя такива операций с много файлове и директорий и не знам как ще стане това. И съответно ако ми се наложи после как евентуално да изтрия тези линкове ? Знам какво е symbolic link и hard link правил съм ги но рекурсивно или така както предлагаш не знам как ще стане ... Link to comment Share on other sites More sharing options...
ov3rm4n Posted February 23, 2008 Share Posted February 23, 2008 Лесна работа... for i in $(ls ./); do if [ -d $i ]; then ln -s /path/to/file $i/file; fi; done ако се чудиш - това се пише директно на командния ред... bash ще го изпълни. как да ги изтриеш знаеш... виж си първия пост. ако rm избива грешки, пробвай с unlink вместо. Link to comment Share on other sites More sharing options...
exo Posted February 23, 2008 Author Share Posted February 23, 2008 Лесна работа... for i in $(ls ./); do if [ -d $i ]; then ln -s /path/to/file $i/file; fi; done ако се чудиш - това се пише директно на командния ред... bash ще го изпълни. как да ги изтриеш знаеш... виж си първия пост. ако rm избива грешки, пробвай с unlink вместо. Даа, find започва да ми харесва 10х отново EDIT: Е хайде сега де не съм толкоз зле Link to comment Share on other sites More sharing options...
ov3rm4n Posted February 23, 2008 Share Posted February 23, 2008 всъщност трика с линковете се прави с ls не с find като цяло силата е в комбинирането на различните tools - заедно могат всичко за това трябва не само да се овладеят те, но и взаимодействието между тях - pipes, one-liners... много е интересно. успех в работата! Link to comment Share on other sites More sharing options...
exo Posted February 23, 2008 Author Share Posted February 23, 2008 Благодаря Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.