Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: Orbb 19. 10. 2017, 16:52:25
-
Zdravim, v bash potrebuji udelat davku ktera vezme soubor, zkopiruje jej do adresare a hlavne pojmenuje tak, jak jsou pojmenovane soubory v jinem adresari. Takze vysledkem bude adresar kde bude treba 100x kopie stejneho souboru ktera se bude jmenovat treba: uzivatel1.dat, uzivatel2.dat atd. Koncovka souboru je vzdy stejna (.dat).
Format souboru podle kterych to chci pojmenovavat je pepa%2enovak.dat (jde o konfigurace skupin pro prosody server). Premyslel jsem jak to udelat a asi nejlepsi mi prislo udelat export obsahu adresare do txt, nasledne spustit kopirovani a pojmenovavat to z toho txt a nakonec textak smazat ale bohuzel jsem to nedokazal dat dohromady do funkcniho celku.
Zacal jsem vypisem adresare, easy, "ls>temp" ale udelat kopii poctu souboru podle poctu radku a nasledne prejmenovani jsem nedal dohromady :-( Poradi nekdo ? Diky.
-
Není z toho k pochopení, co se má vlastně stát.
Zkuste vypsat pár zdrojových a cílových cest - vlevo zdroj, vpravo cíl.
-
/home/orbb/soubor_s_konfiguraci > /home/orbb/konfigurace/pepa%2enovak,eliska%2enovakova .......
/home/orbb/vzory/eliska%2enovakova.dat, pepa%2enovak.dat ........
vzit soubor_s_konfiguraci a kopirovat ho do /home/orbb/konfigurace a pojmenovavat podle souboru v /home/orbb/vzory/. Kolik souboru v /home/orbb/vzory tolik stejnych kopii soubor_s_konfiguraci s jinymi nazvy.
Extra blbe se to vysvetluje a proto se mi to i extra blbe hledalo na google :-(
-
#!/bin/bash
for IN in `ls -1 /home/orbb/vzory`; do
OUT=`echo ${IN} | sed -rne 's/^(.*)\.dat/\1/p'`
cp /home/orbb/soubor_s_konfiguraci /home/orbb/konfigurace/${OUT}
done
-
cd /home/orbb/vzory/; find . -type f -print0 | xargs -0 -I{} cp /home/orbb/soubor_s_konfiguraci /home/orbb/konfigurace/{}
:o
-
...
To neodstraní koncovku .dat, ne?
-
ls vzory | sed 's/^/cp soubor_s_konfiguraci konfigurace\//' | bash
-
Chlapi, diky moc. Vyuzil jsem reseni od aaa158, dela to presne to co jsem cekal, dekuju moc :) Jinak koncovku .dat nepotrebuju odtranit, spatne jsem to v prikladu napsal, moje chyba, omlouvam se. Hezky vecer :)