borzole Napisano Styczeń 19, 2009 Zgłoszenie Share Napisano Styczeń 19, 2009 Mam lamerskie pytanie. Polecenie kopiuje strukturę katalogów z aktualnego miejsca do /home/lucas/project/test1 .bashrc alias drzewo-luzem="find . -type d -print|sed 's@^\.\{0,1\}@/home/lucas/project/test1@' | sed 's/ /\\ /' | xargs mkdir -p" ale jest bałaganiarskie, bo kopiuje drzewo wszystkich folderów w tym miejscu, a ja chciałbym tylko wybranego, niestety nie wiem jak przekazać parametr próbowałem $PRNAME i w {} () '' "" no i nic, nie znam sed'a przeszedłem jakieś toturiale i nadal nie wiem. Help. tyle mam: .bashrc drzewo-folder(){ cd $1 PRNAME=/home/lucas/project/$1 find . -type d -print|sed 's@^\.\{0,1\}@$PRNAME@' | sed 's/ /\\ /' | xargs mkdir -p cd .. } na wyjściu dostaje strukturę katalogów ale zamiast ładnej nazwy to mam $PRNAME lub z '$PRNAME' itp. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
jjj Napisano Styczeń 20, 2009 Zgłoszenie Share Napisano Styczeń 20, 2009 Zastąp sed -e '...' przez sed -e "...". W pojedynczych apostrofach zmienne nie są rozwijane. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
borzole Napisano Styczeń 20, 2009 Autor Zgłoszenie Share Napisano Styczeń 20, 2009 Dzięki, teraz działa. Funkcja przydaje się raz do roku, ale brakowało mi tego parę razy. Może się komuś przyda .bashrc drzewo-folder(){ cd $1 PRNAME=/home/lucas/project/$1 find . -type d -print|sed "s@^\.\{0,1\}@$PRNAME@" | sed 's/ /\\ /' | xargs mkdir -p cd .. } np.: drzewo-folder ~/temp zrobi kopie struktury katalogów z ~/temp do /home/lucas/project/temp Zrobiłem też przeróbkę żeby było bardziej elastycznie: drzewo-folder-elastyczny DrzewoDoSkopiowania MiejsceDocelowe NowaNazwa np.: drzewo-folder-elastyczny ~/temp ~/project Astalavista zrobi kopie struktury katalogów z ~/temp do /home/lucas/project/Astalavista drzewo-folder-elastyczny(){ # drzewo-folder-elastyczny DrzewoDoSkopiowania MiejsceDocelowe NowaNazwa START_DIR=$PWD cd $1 PRNAME=$2/$3 find . -type d -print|sed "s@^\.\{0,1\}@$PRNAME@" | sed 's/ /\\ /' | xargs mkdir -p cd $START_DIR } ps. żeby nie było, że coś sobie przywłaszczam: źródło sztuczki Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
ecik__ Napisano Styczeń 20, 2009 Zgłoszenie Share Napisano Styczeń 20, 2009 Imo takie coś też powinno działać: drzewo-folder-elastyczny(){ # drzewo-folder-elastyczny DrzewoDoSkopiowania MiejsceDocelowe find $1 -type d -printf "$2/%P\n" | xargs -i mkdir -p '{}' } Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
borzole Napisano Styczeń 20, 2009 Autor Zgłoszenie Share Napisano Styczeń 20, 2009 Nom, działa i faktycznie ten trzeci parametr to zupełnie bez sensu był. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się