Skocz do zawartości

[Bash]Skrypt Do Segregacji


bubi

Rekomendowane odpowiedzi

Witam mam problem z napisaniem skryptu, potrzebuje aby wyszukiwał on w danym katalogu plików z rozszerzeniem .txt i .avi a następnie przenosił je do innego katalogu a więc miał by przykładowo wyszukać plików 111.avi i 111.txt a następnie przenieść je do katalogu np. movie

zależy mi na tym aby przenosił tylko jeśli będą te dwa pliki czyli dajmy na to jeśli znajdzie sam 111.avi to ma nic z nim nie robic

natomiast jesli skrypt by wyszukiwał jeszcze plików zawierających w nazwie "PL" i przenosil je do tego samego katalogu to był bym w pełni szczęśliwy (chociaż to akurat umiem napisac).

wymyśliłem taki szkielet (oczywiscie to w nawiasach zmienił bym na mv)

#!/bin/bash

 

find /home/movie/ -type f -iname \*.avi | while read -r line ; do

dir=${line%/*}

name=${line##*/}

(

cd /home/bubi/movie/

qnapi "$name"

)

done

 

był bym wdzięczny za pomoc, oczywiście nie jest to żadna praca domowa

Odnośnik do komentarza
Udostępnij na innych stronach

Ja bym poszukal tylko .avi i potem zrobil ifa czy plik .txt o takiej samej nazwie istnieje.

Jak latwo zmienic fragment nazwy pliku? Podam Ci mój skrypt do konwertowania obrazków, moze Ci podpowie:

for f in *

do
if [ ! -f "./levelshots/etwolf/${f%tga}png" ];
then
   	echo "	${f%tga}png"
   	convert "$f" "./levelshots/etwolf/${f%tga}png"
fi
done

 

Jak widzisz, ${f} to zmienna, jednak mozesz wyciac z niej koncowe litery (w Twoim przypadku ${f%avi} i zamienic na txt w celach sprawdzenia, czyli np:

 

if [ -f "${f%avi}txt" ]
then
mv ${f} ${nowe_miejsce}
mv ${f%avi}txt ${nowe_miejsce}
done

 

To tak bardzo mniej wiecej... kod powyzej pisany z glowy, wiec skladnia moze byc niepoprawna.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...