Freesco, NND, CDN, EOS

http://www.freesco.pl
Dzisiaj jest sobota, 28 marca 2020, 21:53

Strefa czasowa UTC+2godz.




Nowy temat Odpowiedz w temacie  [ Posty: 6 ] 
Autor Wiadomość
 Tytuł: BASH
Post: sobota, 26 maja 2007, 21:48 
Offline

Rejestracja: czwartek, 10 lutego 2005, 16:01
Posty: 82
Witam,

Pisze jeden skrypcik i utknalem na dwoch rzeczach. W zwiazku z tym mam ddwa pytania. W jaki spoosb w bashu ze sciezki /home/franek/test.txt wyciagnac sama sciezke?
Czy da sie za pomoca cp lub innego polecenia skopiowac dany plik w inne miejsce z zachowaniem strktury katalogow. ?

Za pomoc bede wdzieczny, bo nie moge cos nic znalesc na ten temat.

Pozdrawiam

_________________
www.luber.homelinux.org


Na górę
 Wyświetl profil  
 
 Tytuł: Re: BASH
Post: sobota, 26 maja 2007, 22:18 
Offline
MODERATOR

Rejestracja: piątek, 5 lipca 2002, 17:31
Posty: 2449
Lokalizacja: Londyn
kryspi pisze:
W jaki spoosb w bashu ze sciezki /home/franek/test.txt wyciagnac sama sciezke?


nie ma to nic wspólnego z bashem ale chyba najlepiej użyć

dirname /home/franek/test.txt

jeśli zaś potrzebujesz tylko nazwy pliku to:

basename /home/franek/test.txt

W bashu by się pewnie też dało, ale to dośc skomplikowane raczej by było... nie warto, chyba że w systemie na którym to ma działać nie masz powyższych programów.

kryspi pisze:
Czy da sie za pomoca cp lub innego polecenia skopiowac dany plik w inne miejsce z zachowaniem strktury katalogow. ?


o ile dobrze rozumiem co chcesz zrobić to

cp -P /scieżka/plik /katalog

załatwi ten problem.

kryspi pisze:
Za pomoc bede wdzieczny, bo nie moge cos nic znalesc na ten temat.


a do man cp zajrzałeś? nie wydaje mi się... a to powinno być pierwsze miejsce gdzie się takich rzeczy szuka.

_________________
Mis'
___________________________________
"Real Men Use Telnet on port 80" (el bid)


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: sobota, 26 maja 2007, 23:05 
Offline

Rejestracja: czwartek, 10 lutego 2005, 16:01
Posty: 82
Ok dzieki, obszedlem to juz jednak inaczej. Nie wiedzialem ze takie dwie piekne komendy istnieja :) jakos sie nie natknalem na nie, pewnie by mi to przyspieszylo napisanie tego skryptu. Ja uzylem w koncu do okreslenia sciezki do pliku polecenia

: [/] [] ()
find -iname $plik -printf "%h"`


a ta komende cp -P znalazlem ale jednak cos mi to nie dzialalo nie realizowalo tego co napisalem, nie wiem moze cos zle tego uzylem. Zrobilem ze najpierw mkdir zaklada katalog wyciagniety za pomoca powyzszej funkcji a potem kopiuje tylko do niego plik.

W kazdym badz razie dziekuje za chec pomoc, instrukcje pewnie sie przydadza jeszcze w przyslosci.

_________________
www.luber.homelinux.org


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: sobota, 26 maja 2007, 23:44 
Offline
MODERATOR

Rejestracja: piątek, 5 lipca 2002, 17:31
Posty: 2449
Lokalizacja: Londyn
kryspi pisze:
. Ja uzylem w koncu do okreslenia sciezki do pliku polecenia

: [/] [] ()
find -iname $plik -printf "%h"`


fajnie, tylko że fing przeszukuje dysk, i jesli użyty jest w np. w pętli to trochę czasu to zajmie. Zarówno basename jak i dirname operują na stringu zawierajacym ścieżkę czyli są nieporownywalnie szybsze.

kryspi pisze:
a ta komende cp -P znalazlem ale jednak cos mi to nie dzialalo


cp -P musi dostać jako drugi parametr nazwę katalogu. Wewnątrz tego katalogu tworzone jest całe drzewko podkatalogów i do ostatniego kopiowany jest plik podany wraz ze ścieżką jako pierwszy parametr.

_________________
Mis'
___________________________________
"Real Men Use Telnet on port 80" (el bid)


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: niedziela, 27 maja 2007, 00:25 
Offline

Rejestracja: czwartek, 10 lutego 2005, 16:01
Posty: 82
tak to prawda ze napewno moje rozwiazanie jest duzo wolniejsze, ale to byl skrypcik dla znajomego na zaliczenie moze jakos to zniesie :)

jesli chodzi o te cp -P to mi to nie dziala sprawdzam u siebie na NND, sprawdzales czy u Ciebie wlasnie tak robi. Moze nadal cos zle podaje.
Ale robie tak. Wchodze do katalogu powiedzmy /home/franek/ i chce skopiowac z niego plik o nazwie plik.txt wraz z cala struktura katalogow do katalogu /tmp

wpisuje

cp -P plik.txt /tmp/

kopiuje mi tylko pliczek plik.txt natomiast struktury katalogow nie :(.

_________________
www.luber.homelinux.org


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: niedziela, 27 maja 2007, 10:14 
Offline
MODERATOR

Rejestracja: piątek, 5 lipca 2002, 17:31
Posty: 2449
Lokalizacja: Londyn
kryspi pisze:
jesli chodzi o te cp -P to mi to nie dziala sprawdzam u siebie na NND,



no cóż... mea culpa! przełącznik -P wziąłem z pamięci i potwierdziłem że dobrze pamiętam w książce "Linux in a nutshell"... ale widać od czasu wydania (rok 2000) autorzy cp zmienili znaczenie tego przełącznika. Obecnie znaczy on "never follow symbolic links"... wersja długa czyli --parents działa nadal tak samo. Czyli

cp --parents /scieżka/plik /katalog

skopiuje plik tworząc w katakog całe drzewko określone przez scieżka.

kryspi pisze:

cp -P plik.txt /tmp/

kopiuje mi tylko pliczek plik.txt natomiast struktury katalogow nie


po pierwsze przed plik.txt musi być ścieżka, inaczej struktura katalogów nie zostanie skopiowana bo cp jej nie zna
po drugie nie jest ci potrzebny ostatni slash na końcu katalogu /tmp,
po trzecie zamiast -P użyj --parents

_________________
Mis'
___________________________________
"Real Men Use Telnet on port 80" (el bid)


Na górę
 Wyświetl profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat Odpowiedz w temacie  [ Posty: 6 ] 

Strefa czasowa UTC+2godz.


Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 2 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
Technologię dostarcza phpBB® Forum Software © phpBB Group
Hosting: Compus-Net
RobertKonik.pl