Strona 1 z 2
BASH - rozdzielanie ciągu znaków po znaku "/"
: 30 listopada 2011, 20:06
autor: sponsoriada
Witam.
Mam taki problem. Jest ścieżka do katalogu np.:
Potrzebuję skryptu, który rozdzieli mi taki ciąg i doda do tablicy.
Wynik ma wyglądać tak:
Kod: Zaznacz cały
tablica[0]=home
tablica[1]=jurek
tablica[2]=jurkiewicz
Z góry dziękuję za pomoc i pozdrawiam.
Jeszcze jedno pytanie.
Jak mogę usunąć z pliku konkretny wiersz lub konkretny wyra
z?
: 30 listopada 2011, 21:16
autor: maxdawid
Np. możesz to zrobić awkiem
potem $3 itd.
: 30 listopada 2011, 21:31
autor: sponsoriada
Zadanie polega na tym że jest plik w którym są ścieżki do konkretnych folderów:
Napisałem część skryptu do dodawania nowych ścieżek do folderów, a teraz chciałbym móc je usuwać.
Wymyśliłem tak że wszystkie ścieżki z pliku mam w tablicy. I wybieram selectem którą chcę usunąć. I teraz jest problem bo nie wiem jak usunąć daną ścieżkę z pliku.
: 30 listopada 2011, 22:20
autor: maxdawid
Wystarczy tego użyć w mądry sposób
: 01 grudnia 2011, 11:23
autor: sponsoriada
Też o tym myślałem tylko to wygląda tak, że dostaje zmienną
i jak ją wstawię w:
to nie działa tak ładnie.
: 01 grudnia 2011, 18:52
autor: maxdawid
Kod: Zaznacz cały
sciezka=/home/jurek
sed "\%$sciezka%d" pliczek
: 01 grudnia 2011, 20:41
autor: sponsoriada
Działa! Dziękuję. Nie znałem takiej składni, czy mógłbyś mi ją wyjaśnić?
: 01 grudnia 2011, 21:55
autor: maxdawid
Mógłbym, ale posłużę się gotowce
m:
\%regexp%
(The % may be replaced by any other single character.)
This also matches the regular expression regexp, but allows one to use a different delimiter than /. This is particularly useful if the regexp itself contains a lot of slashes, since it avoids the tedious escaping of every /. If regexp itself includes any delimiter characters, each must be escaped by a backslash (\).
Reszta chyba nie wymaga wyjaśnienia.
: 03 grudnia 2011, 23:43
autor: sponsoriada
Super wielkie dzięki jeszcze raz!
Pozdrawiam.
Dodane:
Jak już jesteś tak uczynny to może pomożesz mi albo chociaż nakierujesz.
Sprawa wygląda następująco. Skrypt z pliku będzie pobierał ścieżki do katalogów, które mają być tarowane i wrzuca sobie je do tablicy.
Jak rozwiązać problem pętli, która najpierw będzie pobierała element z tablicy, tarowała i dopiero po zakończeniu pierwszego elementu pobierała drugi i powtarzała czynność.
Nie chcę żeby pętla zrobiła tak, że w jednym czasie będą tarowane wszystkie elementy z tablicy.
Z góry dziękuję.
: 04 grudnia 2011, 09:39
autor: lessmian2
Jak dla mnie to strasznie komplikujesz
Kod: Zaznacz cały
while read katalog;
do
cos1
cos2
tar
done <plik_ze_sciezkami