find filer og udføre en kommando på resultatet.

Her er find kommandoen din ven.

Her leder jeg efter filer som har .conf som efternavn. Som du kan se viser den en ls -l list over filer som den har fundet under /etc

$ find / -name *.conf -exec ls -l {} \;
-rw-r--r-- 1 root root 3028 Feb 16 2022 /etc/adduser.conf
-rw-r--r-- 1 root root 1447 May 19 2020 /etc/apparmor/parser.conf
-rw-r--r-- 1 root root 1216 Apr 16 2020 /etc/apport/crashdb.conf
-rw-r--r-- 1 root root 604 Jan 20 2022 /etc/apt/apt.conf.d/20apt-esm-hook.conf
-rw-r--r-- 1 root root 114 Jan 6 2022 /etc/apt/apt.conf.d/20snapd.conf
...

Vedr {} Dette betyder de filer eller hvad der skal findes, skal den udføre ls -l på alle svar som kommer fra find.
Der er også en anden mulighed med + tegnet. Du kan se hvad et eksempel her.

  • {} Er placeholder som er det sted hvor den skriver resultaltet fra din find Command.
  • \; Betyder hvor hver fundet svar fra find skal [command] kommando køres. Men dette kræver du bruger escape tegnet \;
  • [command] Er den kommando som du ønsker skal udføres på svarene fra find.
$ find / -name *.conf -exec ls {} +

Som du kan se laver den en lang liste med svaret i din shell.

/etc/adduser.conf                       /etc/apparmor/parser.conf
/etc/apport/crashdb.conf        /etc/apt/apt.conf.d/20apt-esm-hook.conf
/etc/apt/apt.conf.d/20snapd.conf
...

Find lock filer og viser deres rettigheder.

$ sudo find /tmp/ -type f -name *lock -exec ls -l {} \;

Rename af mange filer.

$ sudo find /home/sagar/Downloads/ -type f -name 'ubuntu*' -exec mv {} {}_renamed \;

Denne kommando vil rename alle filer med navnet som starter med ubuntu og rename dem til unbuntu_renamed

Find mp3 filer og vis deres info.

$ find . -name "*.mp3" -exec id3v2 -l {} \;

Du kan læse mere om find her

 

Author: Jeg er en professionel system administrator og grundlægger af linuxboxen.dk Jeg er en ivrig Linux-elsker og open source-entusiast. Jeg bruger Ubuntu og tror på at dele viden. Bortset fra Linux, elsker musik og dyr. Jeg er en stor fan af Dire straits.

Skriv et svar