Komenda find
jak wiemy służy do szukania plików w konsoli Linux. Przeważnie wyszukujemy w ten sposób jedną określoną frazę. Np.
1 |
find . -iname "*woods*" |
Powyższa komenda znajdzie nam w folderze w którym ją wywołamy wszystkie pliki (niezależnie od wielkości liter w nazwie pliku – Woods, woods, WOODS itd – flaga -iname
) pasujące do frazy określonej w cudzysłowu. Do jednej frazy. Co natomast w przypadku, kiedy chcemy wyszukać wiele fraz na raz. Np. 50? Będziemy wywoływać 50 razy tę komendę i przepisywać frazy… ? To bez sensu.
Najlepiej posłużyć się słownikiem. Tworzymy zwykły plik tekstowy:
1 |
nano slownik.txt |
I wpisujemy frazy, ktróre nas interesują jedna pod drugą:
1 2 3 |
beethoven chopin strauss |
Zapisujemy poprzez:
1 |
CTRL + O |
Następnie wpisujemy komendę:
1 |
cat slownik.txt | while read file ; do find /home/user/Muzyka/classic -iname "*$file*" -type f ; done > znalezione-pliki.txt |
Gdzie /home/user/Muzyka/classic to lokalizacja plików do znalezienia
Jak widać zastosowano tutaj dodatkowe flagi do komendy find
:
-iname
– ignorowanie wielkości liter (jak w przykładzie wyżej)
-type f
– znajdowanie jedynie plików z pominięciem folderów
Wynik wyszukiwania (zawarty jest w pliku tekstowym):
1 |
nano znalezione-pliki.txt |
Listing:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
/home/user/Muzyka/classic/01 - Ludwig von Beethoven - Symphony No.5 in C minor, op.67 - I. Allegro con brio.mp3 /home/user/Muzyka/classic/02 - Ludwig von Beethoven - Symphony No.9 in D minor, op.125 'Choral' - II. Molto vivace - Presto.mp3 /home/user/Muzyka/classic/Beethoven/Ludwig von Beethoven - Symphony No.9 in D minor, op.125 'Choral' - V. Presto - 'O Freunde, nicht diese Tone!' - Allegro assai -.mp3 /home/user/Muzyka/classic/Chopin/01 - Chopin - Marsz Pogrzebowy funeral march.mp3 /home/user/Muzyka/classic/chopin/01. Chopin - Etude in cis klein, ('Revoluti.mp3 /home/user/Muzyka/classic/chopin/ 100 World's Best Loved Melodie - 27. Nocturne (Chopin).mp3 /home/user/Muzyka/classic/chopin/ 100 World's Best Loved Melodie - 3. Waltz No. 1 (Chopin).mp33 /home/user/Muzyka/classic/chopin/52. CHOPIN - WALTZ # 10.mp3 /home/user/Muzyka/classic/chopin/Chopin - Military Polonaise.mp3 /home/user/Muzyka/classic/chopin/Chopin - Piano Solo.mp3 /home/user/Muzyka/classic/chopin/CHOPINPC.mid /home/user/Muzyka/classic/chopin/Various Orchestras - Chopin- Etude a-moll.mp3 /home/user/Muzyka/classic/07. Richard Strauss - Also Sprach Zarathustra (Thus Spoke Zarathustra).mp3 |