Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: pomoc s príkazom  (Přečteno 1135 krát)

makak

  • Aktivní člen
  • *
  • Příspěvků: 103
pomoc s príkazom
« kdy: 19 Srpna 2010, 13:26:01 »
Potrebujem v jednej zložke (a všetkých jej podzložkách) vymazať všetky súbory, ktoré nemajú koncovku .mp3, .wav, .m4a a to isté s veľkými písmenami - čiže všetky hudobné súbory a potrebujem aby ste mi pomohli s reg. výrazmi.

find . -name [--sem neviem čo dať--] | xargs rm -i

Práve to gúglim, ale mám ešte niečo na právi popri tom. Keby mi niekto rýchlo odpovedal, bol by som vďačný.

makak

  • Aktivní člen
  • *
  • Příspěvků: 103
Re: pomoc s príkazom
« Odpověď #1 kdy: 19 Srpna 2010, 13:30:59 »
Alebo že by takto ?

Kód: [Vybrat]
rm !(*.mp3|*.wma|*.m4a|.MP3|*.WMA|*.M4A)

arrange

  • Závislák
  • ***
  • Příspěvků: 4031
  • "jdu s hlavou vztyčenou..."
Re: pomoc s príkazom
« Odpověď #2 kdy: 19 Srpna 2010, 13:55:33 »
Třeba
Kód: [Vybrat]
find . -regextype posix-egrep -type f \! -iregex '.*\.(mp3|wma|m4a)'Opatrně při mazání, radši použij třeba mv nebo trash než rm nebo -delete.
http://www.openstreetmap.org - mapy celého světa "wiki style"

makak

  • Aktivní člen
  • *
  • Příspěvků: 103
Re: pomoc s príkazom
« Odpověď #3 kdy: 19 Srpna 2010, 15:02:38 »
find -regextype posix-egrep -type f \! -iregex '.*\.(mp3|wma|m4a|MP3|WMA|M4A)' | xargs rm

Tak som skúsil toto, ale je tu problém. Keďže ide o hudobné súbory, tak sú samozrejme v názvoch súborov medzery. A kvôli tomu mi to hádže chyby. Čo s tým ? Dá sa to riešiť ?
« Poslední změna: 19 Srpna 2010, 15:10:49 od makak »

makak

  • Aktivní člen
  • *
  • Příspěvků: 103
Re: pomoc s príkazom
« Odpověď #4 kdy: 19 Srpna 2010, 16:21:10 »
Kam mám v tomto dať ten regexp ? (v takej forme ako si to dal ty to nespravilo nič)

Ten predchádzajúci command bol dobrý, keď som dal echo miesto rm tak to fungovalo v pohode - pekne mi to vypísalo názvy všetkých súborov. Ak som ale dal rm, tak to bralo ako jeden argument a za každým názvom súboru bolo "\n". Potreboval by som nejak spraviť, aby to "\n" bralo ako koniec argumentu.
« Poslední změna: 19 Srpna 2010, 16:22:44 od makak »

arrange

  • Závislák
  • ***
  • Příspěvků: 4031
  • "jdu s hlavou vztyčenou..."
Re: pomoc s príkazom
« Odpověď #5 kdy: 19 Srpna 2010, 19:26:51 »
K tomu právě slouží -delete, ale je to (téměř) nenávratná operace
Kód: [Vybrat]
find . -regextype posix-egrep -type f ! -iregex '.*\.(mp3|wma|m4a)' -delete
Nebo použij trash - v případě problémů je možno vše obnovit z koše.
Kód: [Vybrat]
sudo apt-get install trash-cli
find . -regextype posix-egrep -type f ! -iregex '.*\.(mp3|wma|m4a)' -exec trash '{}' \;
http://www.openstreetmap.org - mapy celého světa "wiki style"

makak

  • Aktivní člen
  • *
  • Příspěvků: 103
Re: pomoc s príkazom
« Odpověď #6 kdy: 19 Srpna 2010, 19:41:52 »
To nevadí, testoval som to najprv na pár umelo vytvorených súboroch, potom na zálohe a potom som prešiel na môj disk :)

Dík moc :)

makak

  • Aktivní člen
  • *
  • Příspěvků: 103
Re: pomoc s príkazom
« Odpověď #7 kdy: 20 Srpna 2010, 16:42:52 »
Momentálne hľadám nejaké riešenie ako opraviť všetky ID3 tagy. Mám super program EasyTAG, ktorý mi vyplní tagy krásne podľa tvaru názvu súboru. Problém je teraz v tom, že niekde je názov súboru v tvare "[číslo] - [názov]", inde "[číslo].  [názov]", niektoré zas "[číslo] [názov]".

Chcel by som, aby to všade bolo v tvare "[číslo] - [názov]", čiže pre všetky súbory, ktoré majú 2 čísla za sebou a nenasleduje za nimi " - ", tak vymaže všetko po ďalší znak a dá tam " - ".

To je výzva :) Fakt neviem ako na to...

find -regextype posix-egrep -type f \! -iregex '.[0-9][0-9] - *' - toto mi hádzalo všetky súbory.

 

Provoz zaštiťuje spolek OpenAlt.