[+] Bash, usuwanie i kopiowanie katalogu

Potrzebujesz pomocy z C, C++, perl, python, itp.
Michcio
Posty: 9
Rejestracja: 08 sierpnia 2008, 17:48

[+] Bash, usuwanie i kopiowanie katalogu

Post autor: Michcio »

Witam.
Jak mogę wykonać, żeby najpierw był usuwany katalog, a gdy zostanie usunięty to żeby wtedy był kopiowany do danej lokalizacji. Najlepiej, żeby można było to ująć w jednej linijce, ale niekonieczne.

Z góry dziękuję.
mlodir
Posty: 30
Rejestracja: 31 maja 2009, 16:45

Post autor: mlodir »

Podstawy podstaw. Wskazówka:
Awatar użytkownika
Redhead
Junior Member
Posty: 526
Rejestracja: 17 lipca 2007, 17:37

Post autor: Redhead »

mlodir pisze:Podstawy podstaw. Wskazówka:
Chyba bardziej chodziło mu o pętlę.
[INDENT] IF warunek skasowany katalog = exit status 0
THEN kopiuj katalog tu i tam
ELSE rób coś innego[/INDENT]

Tak czy siak, bash się kłania.
mlyczek
Junior Member
Posty: 979
Rejestracja: 02 sierpnia 2006, 19:17

Post autor: mlyczek »

Kod: Zaznacz cały

rm -R <katalog> && cp -R <katalog2> <lokalizacja docelowa dla katalog2>
Operator && powoduje, że druga instrukcja wykona się dopiero gdy pierwsza skończy się powodzeniem (czyli zwróci kod 0).
Michcio
Posty: 9
Rejestracja: 08 sierpnia 2008, 17:48

Post autor: Michcio »

Mam plik typu:

Kod: Zaznacz cały

rcon_password haslo
hostname "aha"
sv_password "ok"
Jak mogę za pomocą basha edytować ten plik i zmienić lub usunąć i od nowa napisać linijkę z hostname. Chodzi mi o to, że chcę po prostu zmienić wartość hostname. Może być też, żeby całkiem usuwało linijkę z hostname i mógłbym od nowa do pliku dopisać nią.

Edycja:
Dobrze, takie coś zrobiłem:

Kod: Zaznacz cały

sed -e '/hostname/d' server.cfg
Jak mogę zapisać ten wynik do server.cfg spowrotem?
Takie coś nie działą:

Kod: Zaznacz cały

sed -e '/hostname/d' server.cfg > server.cfg
Edycja2:
Zrobione. Temat do zamknięcia.

Kod: Zaznacz cały

test=`sed -e '/hostname/d' server.cfg`
echo "$test" > server.cfg
Awatar użytkownika
Unit
Beginner
Posty: 356
Rejestracja: 27 marca 2007, 09:39

Post autor: Unit »

Michcio pisze: EDIT2:
Zrobione. Temat do zamknięcia

Kod: Zaznacz cały

test=`sed -e '/hostname/d' server.cfg`
echo "$test" > server.cfg
Wymiana na pustą linię:

Kod: Zaznacz cały

perl -pi -e 's/hostname(.*)//g' server.cfg
ODPOWIEDZ