Linux - vyhledání souborů pomocí find s vyjímkami (exclude)

Co nejvíce stručné řešení pro vývojáře a linux administrátory

Na superuser.cz nenaleznete žádný zbytečný obsah, vždy se jde přímo k věci, denně se zde objevují nové problémy a jejich řešení...

Začít používat

Linux - vyhledání souborů pomocí find s…

23.01.2020 napsal Evžen

Vyřešeno Linux - search files with find command (with exclude)
Dobrý den,

potřeboval bych pomocí příkazu find najít a vypsat do souboru všechny soubory bez cesty s vyjímkami na tyto typy souborů:
.jpeg
.jpg
.png
.diff
.diff.gz

Pújde to? Děkuji

Linux - search files with find command (with exclude)

Good day,

I would need to use the find command to find and list all files without a path, except (exclude) for the following file types:
.jpeg
.jpg
.png
.diff
.diff.gz

It is possible? Thank you

Zobrazit odpovědi

Nejlépe hodnocení uživatelé
Hanz

Počet UP: 5096

React: 215

Rusty

Počet UP: 2354

React: 100

OL3G

Počet UP: 1638

React: 60

Strosmajer

Počet UP: 496

React: 23

SYSTEM

Počet UP: 440

React: 23

Oxytocin

Počet UP: 298

React: 18

Hyacint

Počet UP: 40

React: 12

RE: Linux - vyhledání souborů…

05.02.2020 odpověděl Oxytocin (update 05.02.2020)

Zkontrolováno

Dobrý den,

na linuxu pomocí find najdete v adresáři /home/user všechny soubory bez cesty s vyjímkami na tyto typy souborů:
.jpeg
.jpg
.png
.diff
.diff.gz

tímto příkazem:
find /home/user -type f \! -name '*.jpg' \! -name '*.jpeg' \! -name '*.JPG' \! -name '*.JPEG' \! -name '*.png' \! -name '*.PNG' \! -name '*.diff' \! -name '*.diff.gz' \! -name '*.directory' -printf "%f\n" > /home/user/vypis.txt

Ještě by šlo také použít příkaz "ls":
ls -LR /home/user --ignore={"*.JPG","*.JPEG",,"*.jpg","*.jpeg","*.png","*.PNG","*.diff","*.directory","*.diff.gz"} /home/user/ > /home/user/vypis-ls.txt

Linux - search files with find command (with exclude)

Hello

on linux using find, you will find all files without paths in the / home / user directory except for the following file types:
.jpeg
.jpg
.png
.diff
.diff.gz

with this command:
find /home/user -type f \! -name '*.jpg' \! -name '*.jpeg' \! -name '*.JPG' \! -name '*.JPEG' \! -name '*.png' \! -name '*.PNG' \! -name '*.diff' \! -name '*.diff.gz' \! -name '*.directory' -printf "%f\n" > /home/user/vypis.txt

You could also use the "ls" command:
ls -LR /home/user --ignore={"*.JPG","*.JPEG",,"*.jpg","*.jpeg","*.png","*.PNG","*.diff","*.directory","*.diff.gz"} /home/user > /home/user/vypis-ls.txt

Tento web používá k poskytování služeb, personalizaci reklam a analýze návštěvnosti soubory cookie. Používáním tohoto webu s tím souhlasíte. Další informace