Find (Linux): verschil tussen versies
Naar navigatie springen
Naar zoeken springen
Regel 1: | Regel 1: | ||
− | Met het commando ''find'' kun je | + | Met het commando ''find'' kun je geinige dingen doen. |
+ | |||
+ | == Basis == | ||
+ | |||
+ | Met | ||
+ | |||
+ | find | ||
+ | |||
+ | krijg je een recursieve lijst van alle bestanden (inclusief paden). | ||
+ | |||
+ | Als ik dat commando geef in m'n muziek-map, krijg ik bv. een lijst met 2.566 regels, die echter niet is gealfabetiseerd. Laatste entries (na alfabetiseren): | ||
+ | |||
+ | <pre> | ||
+ | ./Yann Tiersen - Tout est Calme/Yann Tiersen - Tout est Calme - 09 - L'étal.mp3 | ||
+ | ./Yann Tiersen - Tout est Calme/Yann Tiersen - Tout est Calme - 10 - La Decouverte.mp3 | ||
+ | ./Yann Tiersen/Yann Tiersen - Comptine d'un Autre Été - Extended version.mp3 | ||
+ | ./Yann Tiersen/Yann Tiersen - Inédit.mp3 | ||
+ | ./Yann Tiersen/Yann Tiersen - Le jour d'avant.mp3 | ||
+ | ./Yann Tiersen/Yann Tiersen - Le Quartier (live@werchter 2002).mp3 | ||
+ | ./Yann Tiersen/Yann Tiersen - Les Oiseaux de Passages - 01 Le Parapluie.mp3 | ||
+ | ./Yann Tiersen/Yann Tiersen - Monochrome (live@werchter 2002).mp3 | ||
+ | ./Yann Tiersen/Yann Tiersen - Printemps de Bourges - A Quai.mp3 | ||
+ | ./Yann Tiersen/Yann Tiersen - Printemps de Bourges - Rue des Cascades.mp3 | ||
+ | ./Yann Tiersen/Yann Tiersen - Rue des cascades (Film Version).mp3 | ||
+ | ./Youssou N'Dour & Neneh Cherry | ||
+ | ./Youssou N'Dour & Neneh Cherry/Youssou N'Dour & Neneh Cherry - 7 Seconds.mp3 | ||
+ | ./Zaz | ||
+ | ./Zaz/Zaz - Je veux (karaoke).mp3 | ||
+ | ./Zaz/Zaz - Je veux.mp3 | ||
+ | ./Zoe Keating | ||
+ | ./Zoe Keating/Zoe Keating - Legions (War).mp3 | ||
+ | </pre> | ||
+ | |||
+ | Je kunt ook aangeven waar-ie moet beginnen met zoeken. Bv.: | ||
+ | |||
+ | cd ~ | ||
+ | find Dropbox/Music | ||
+ | |||
+ | geeft hetzelfde resultaat als hiervoor | ||
+ | |||
+ | == Tests == | ||
+ | |||
+ | Rondom ''find'' heten filters ''tests''. Je kunt op verschillende manieren filteren. Bv. | ||
+ | |||
+ | cd ~ | ||
+ | find Dropbox/Music -type d | ||
+ | |||
+ | test voor directories. Laatste output (weer: Ongesorteerd): | ||
+ | |||
+ | <pre> | ||
+ | Dropbox/Music/K's Choice - Almost Happy/CD1 | ||
+ | Dropbox/Music/K's Choice - Almost Happy/CD2 | ||
+ | Dropbox/Music/Radiohead - OK Computer | ||
+ | Dropbox/Music/Marlene Dietrich | ||
+ | Dropbox/Music/Yann Tiersen - Black Session (Live) | ||
+ | </pre> | ||
+ | |||
+ | Testen voor bestandsnamen, bv.: | ||
+ | |||
+ | cd Dropbox/Music | ||
+ | find -type d -name "John*" | ||
+ | |||
+ | geeft | ||
+ | |||
+ | <pre> | ||
+ | ./Johnny Cash | ||
+ | ./John Mayer | ||
+ | ./Johnny McEvoy | ||
+ | ./John Denver | ||
+ | ./Johnny Hiatt | ||
+ | </pre> | ||
== Recursief alle bestanden van een bepaald type verwijderen == | == Recursief alle bestanden van een bepaald type verwijderen == | ||
Regel 10: | Regel 80: | ||
find . -name "*.php" -type f -delete | find . -name "*.php" -type f -delete | ||
+ | |||
+ | Met ''-name'' kun je namen specificeren. Bv.: | ||
+ | |||
+ | cd ~/Dropbox/Music | ||
+ | find --name John | ||
== Bronnen == | == Bronnen == | ||
− | * https://math2001.github.io/post/bashs-find-command/ | + | * https://math2001.github.io/post/bashs-find-command/ → Handig om 't te leren |
* https://askubuntu.com/questions/377438/how-can-i-recursively-delete-all-files-of-a-specific-extension-in-the-current-di | * https://askubuntu.com/questions/377438/how-can-i-recursively-delete-all-files-of-a-specific-extension-in-the-current-di |
Versie van 25 mei 2018 13:57
Met het commando find kun je geinige dingen doen.
Basis
Met
find
krijg je een recursieve lijst van alle bestanden (inclusief paden).
Als ik dat commando geef in m'n muziek-map, krijg ik bv. een lijst met 2.566 regels, die echter niet is gealfabetiseerd. Laatste entries (na alfabetiseren):
./Yann Tiersen - Tout est Calme/Yann Tiersen - Tout est Calme - 09 - L'étal.mp3 ./Yann Tiersen - Tout est Calme/Yann Tiersen - Tout est Calme - 10 - La Decouverte.mp3 ./Yann Tiersen/Yann Tiersen - Comptine d'un Autre Été - Extended version.mp3 ./Yann Tiersen/Yann Tiersen - Inédit.mp3 ./Yann Tiersen/Yann Tiersen - Le jour d'avant.mp3 ./Yann Tiersen/Yann Tiersen - Le Quartier (live@werchter 2002).mp3 ./Yann Tiersen/Yann Tiersen - Les Oiseaux de Passages - 01 Le Parapluie.mp3 ./Yann Tiersen/Yann Tiersen - Monochrome (live@werchter 2002).mp3 ./Yann Tiersen/Yann Tiersen - Printemps de Bourges - A Quai.mp3 ./Yann Tiersen/Yann Tiersen - Printemps de Bourges - Rue des Cascades.mp3 ./Yann Tiersen/Yann Tiersen - Rue des cascades (Film Version).mp3 ./Youssou N'Dour & Neneh Cherry ./Youssou N'Dour & Neneh Cherry/Youssou N'Dour & Neneh Cherry - 7 Seconds.mp3 ./Zaz ./Zaz/Zaz - Je veux (karaoke).mp3 ./Zaz/Zaz - Je veux.mp3 ./Zoe Keating ./Zoe Keating/Zoe Keating - Legions (War).mp3
Je kunt ook aangeven waar-ie moet beginnen met zoeken. Bv.:
cd ~ find Dropbox/Music
geeft hetzelfde resultaat als hiervoor
Tests
Rondom find heten filters tests. Je kunt op verschillende manieren filteren. Bv.
cd ~ find Dropbox/Music -type d
test voor directories. Laatste output (weer: Ongesorteerd):
Dropbox/Music/K's Choice - Almost Happy/CD1 Dropbox/Music/K's Choice - Almost Happy/CD2 Dropbox/Music/Radiohead - OK Computer Dropbox/Music/Marlene Dietrich Dropbox/Music/Yann Tiersen - Black Session (Live)
Testen voor bestandsnamen, bv.:
cd Dropbox/Music find -type d -name "John*"
geeft
./Johnny Cash ./John Mayer ./Johnny McEvoy ./John Denver ./Johnny Hiatt
Recursief alle bestanden van een bepaald type verwijderen
Test:
find . -name "*.php" -type f
Echt:
find . -name "*.php" -type f -delete
Met -name kun je namen specificeren. Bv.:
cd ~/Dropbox/Music find --name John