TwojePC.pl © 2001 - 2024
|
|
A R C H I W A L N A W I A D O M O Ś Ć |
|
|
|
[Linux] Skrypt przeglądający katalogi , pomocy. , Master/Pentium 26/06/03 22:52 Jak w linux'ie napisać skrypt, który w danym katalogu zajrzy do KAŻDEGO podkatalogu a w środku coś tam sobie wykona. To coś to sobie już wpiszę sam. Ale nie wiem jak napisać resztę. Pomocy, potrzebuję tego dla siebie (porządki dysku) a jestem tak zmęczony, że ledwo myśle :( .Nie ma tego złego , co by się w gorsze
obrócić nie mogło - jak nie wierzysz
włącz komputer :-) - Duzo nie pomoge ;) , guma 27/06/03 01:36
Ale moze man test ?
Byc moze w pierwszych 4 wierszach manuala bedzie odpowiedz :)
ps. if lubi test :) - Może trochę przekombinowałem, ale działa... , kicior 27/06/03 02:31
echo "ala=$(pwd)" > ala.sh ; ls -RA | grep -d recurse '^\./.*$' | sed y/:/\ / | sed s/'^\.\/'/'cd\ \$ala\/'/g | gawk '{ print $0, RS,"dupa" }' >> ala.sh ; sh ./ala.sh ; rm -rf ./ala.sh
wpisz to w linię poleceń i wal enter. Za "dupa" podstaw swoje polecenie. - trochę mi pomógł kolega , Master/Pentium 27/06/03 09:00
mam takie coś:
#!/bin/sh
katalog=/dane/MuzykaHQ
pliki=`find $katalog -name "*" -type d 2>/dev/null`
for plik in $pliki ;
do
id3v2 -d $plik/*.mpc
done
Niestety podobnie jak podpowiedź nr.2 nie radzi sobie ze spacjami w nazwie plików. A mam tych spacji dużo ;). Ujęcie zmiennej w cudzysłów nie pomaga, wtedy bowiem pętla nie działa wskutek braku rozbicia na poszczególne elementy (nazwy).Nie ma tego złego , co by się w gorsze
obrócić nie mogło - jak nie wierzysz
włącz komputer :-) - Spacje w nazwach plików poprzedzać musisz baskslashem... , kicior 27/06/03 09:46
inaczej nic nie poradzi rzeczywiście. Spacja jak i parę innych znaków jest znakiem specjalnym i aby użyć jej literalnie musisz go uzwyczajnić przez poprzedzenia znakiem "\". Dla treningu spróbuj założyć sobie jakiś katalog ze spacją w nazwie i go skasuj. Np: nie możesz napisać "mkdir ala ma kota" tylko "mkdir ala\ ma\ kota". Podobnie usuwasz go "rmdir -rf ala\ ma\ kota".
to tyle- Poza tym moja kombinacja z punktu2... , kicior 27/06/03 09:56
robi dokładnie to co opisałeś: wchodzi do każdego katalogu i podkatalogu w bieżącym i wykonuje polecenie dupa. Jedno tylko może jest nie jasne - to polecenie ma być w cudzysłowach czyli jeśli chcesz np. zobaczyć gdzie masz i jakie mptrójki to piszesz:
echo "ala=$(pwd)" > ala.sh ; ls -RA | grep -d recurse '^\./.*$' | sed y/:/\ / | sed s/'^\.\/'/'cd\ \$ala\/'/g | gawk '{ print $0, RS,"ls -la *.mp3" }' >> ala.sh ; sh ./ala.sh ; rm -rf ./ala.sh- tego się domyśłiłem , Master/Pentium 27/06/03 10:01
jednak to też nie lubi spacji w nazwach katalogów. Nie mam pojęcia jak to rozwiązać :(Nie ma tego złego , co by się w gorsze
obrócić nie mogło - jak nie wierzysz
włącz komputer :-)
- wiem o tym , Master/Pentium 27/06/03 09:59
ale jak przenieść to do skryptu ?Nie ma tego złego , co by się w gorsze
obrócić nie mogło - jak nie wierzysz
włącz komputer :-) - Powiedz dokładniej co chcesz zrobić... , kicior 27/06/03 10:17
123- no to lecim , Master/Pentium 27/06/03 11:38
1. Skrypt służy do uporządkowania zbiorów muzyki
2. Rzeczone zbiory zawierają w nazwach katalogów dużo spacji.
3. W każdym katalogu skrypt ma wykonać:
- usunięcie tagów ID3v2
-zastosowanie replaygain
-dodanie danych naprawczych (program PAR2)
(te linijki wykonać potrafię :) )
No i jak widać mam problem. Niestety Linux'a mam od niedawna i w wielu sprawach jestem jeszcze kapuściany głąb ;)Nie ma tego złego , co by się w gorsze
obrócić nie mogło - jak nie wierzysz
włącz komputer :-)
- Teraz wchodzi do katalogów ze spacjami... , kicior 27/06/03 12:44
echo "ala=$(pwd)" > ala.sh ; ls -RA | grep -d recurse '^\./.*$' | sed s/'\ '/'\\\ '/g | sed y/:/\ / | sed s/'^\.\/'/'cd\ \$ala\/'/g | gawk '{ print $0, RS,"dupa1 ; dupa2 ; dupa3" }' >> ala.sh ; sh ./ala.sh ; rm -rf ./ala.sh
PS aby wykonać kilka poleceń w jednej linii oddziela się je średnikiem - w przykładzie wykona się dupa1 potem dupa2 potem dupa3.- ot ... , XTC 27/06/03 14:09
Kicior... zaglądam czasem na ten Twój serwer i tylko się boty naparzają... /wyłącz to bfg na początku bo w takim hałasie trudno się na kogokolwiek czeka/ ...Linux - Szykujemy się do zmiany łącza... , kicior 27/06/03 14:11
bo jest czkawka. A jaką masz ksywę w Q3?- XTC... , XTC 27/06/03 14:51
jak "XTC"...Linux
- dziękuję, działa :) , Master/Pentium 27/06/03 16:20
nadal ma problemy z nawiasami & itp znakami specjalnymi ale w tych paru katalogach zmieniłem nazwy i gra. Tak więc dzięki. Później postudiuję jego działanie.Nie ma tego złego , co by się w gorsze
obrócić nie mogło - jak nie wierzysz
włącz komputer :-)
- Dodałem regułkę sed-a do zamiany " " na "\ "... , kicior 27/06/03 17:01
trzebaby dorzucić analogiczne dla innych znaków specjalnych.
No i radzę nie używać takich znaków w nazwach plików i katalogów - przerzuć się np. ze spacji na znaki podkreślenia. Unikniesz wielu dziwnych czasami problemów.- niestety nie nazywałem katalogi , Master/Pentium 27/06/03 17:23
o przebojach ze spacjami wiem. Na razie twój poprzedni skrypt już leci. A mnie czeka przestudiowanie go. Jeszcze raz dzięki.Nie ma tego złego , co by się w gorsze
obrócić nie mogło - jak nie wierzysz
włącz komputer :-) - miałem na myśli nie ja , Master/Pentium 27/06/03 17:26
...Nie ma tego złego , co by się w gorsze
obrócić nie mogło - jak nie wierzysz
włącz komputer :-)
|
|
|
|
|
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL |
|
|
|
|