Wpis z mikrobloga

#linux #bash #linuxmint
Czołem drogie mirki, mam beznadziejny problem i już nie wiem co mam zrobić.
Chcę czytać ścieżkę do pliku z pliku tekstowego tmp.txt
Linijka po linijce, potem użyć polecenia id3v2 -l SCIEZKA do wypisania informacji o piosence
i to wszystko przekierować do pliku.

_find /home/ -name "*.mp3" 2>/dev/null > tmp.txt

while read PATH; do
id3v2 -R $PATH >> tmp2.txt
done < tmp.txt

cat tmp2.txt_

wynik: id3v2: nie znaleziono polecenia, chociaż tę samą linijkę dam poza pętlą while i wszystko gra. Co tu jest nie tak?
  • 6
  • Odpowiedz
@j4ace: nie lepieje w find za pomocą exec wywołać tego id3v2( find ma wbudowane wywoływanie polecenia przy znalezienia pliku)? zmieściłoby się w linijce
  • Odpowiedz
@j4ace: PATH to zmienna srodowiskowa okreslajaca gdzie maja byc szukane ktore wywolujesz bez sciezki. Wiec jak podmieniasz wartosc PATH to naturalnym jest to ze jak podasz id2v3 bez sciezki to nie zostanie znaleziony. Natomiast propozycja @a123 by wykorzystac findowy exec jest jak najbardziej sluszna.
  • Odpowiedz
@a231: A mógłbym się spytać jak by to wtedy wyglądało?
Próbuję tak:
find /home/ -name "*.mp3" -exec id3v2 -R {}\; >> tmp.txt
czy to jest poprawne?
terminal wywala "brak argumentu dla -exec"...
  • Odpowiedz