GNU/Linux >> Znalost Linux >  >> Linux

Jak mohu pomocí ls vypsat pouze neprázdné soubory?

Použil bych find dirname -not -empty -ls , za předpokladu GNU find.


Toto je úkol, protože najít ls není dostatečně výkonný.

find -maxdepth 1 -size +0 -print

-maxdepth 1 - to říká, že find má hledat pouze v aktuálním adresáři, remove prohledávat všechny podadresáře nebo změnit číslo a jít o 2, 3 nebo více úrovní dolů.

-size +0 to říká find, aby hledal soubory o velikosti větší než 0 bajtů. 0 lze změnit na libovolnou velikost.

-print řekne find, aby vytiskl celou cestu k souboru, který najde

Upravit:
Pozdní přidání:Pravděpodobně byste také měli přidat -type f přepínač výše. To říká find, aby našel pouze soubory. A jak je uvedeno v komentářích níže, -print přepínač ve skutečnosti není potřeba.


ls -l | awk '{if ($5 != 0) print $9}'

Pokud máte v úmyslu použít ls , potřebujete malou pomoc od awk .


Linux
  1. Jak mohu v Linuxu vygenerovat seznam souborů s jejich absolutní cestou?

  2. Jak rekurzivně vypsat všechny soubory a adresáře

  3. Příkaz Linux:Jak „najít“ pouze textové soubory?

  1. Jak mohu vynutit pouze relativní cesty ve výstupu hledání?

  2. Jak najít / vypsat všechny jedinečné soubory ve dvou adresářích?

  3. Jak můžete oříznout soubory mp3 pomocí `ffmpeg`?

  1. Jak získat pouze soubory vytvořené po rande s Ls?

  2. Zástupné znaky:Jak vypsat pouze soubory končící na `.txt` bez použití znaku tečka?

  3. Jak vypsat všechny soubory oddílu na linuxu?