GNU/Linux >> Znalost Linux >  >> Linux

Řekněte `ls`, aby vytiskl pouze základní název souboru

Zatímco xargs -0 je určen k použití pro vstup oddělený \0 (jako find -print0 ), ls nemá možnost ohraničit svůj výstup tímto způsobem.

Nicméně,

ls -1 /path/glob | tr '\n' '\0' | xargs -0 -n 1 basename

by udělal trik, aby převedl nové řádky na null. To pak umožňuje xargům pracovat s názvy, které mají mezery.

EDIT:přidáno -n 1 na xargs


Používám toto:

ls | tr '\n' '\n'

Zobrazí seznam jako:

file1.mp3
file2.mp3
file3.mp3
...

ls -1 <path> | sed 's#.*/##'

Linux
  1. Praktický pohled na příkaz xargs

  2. Tisknout odpovídající čáru a N-tou čáru ze shodné čáry?

  3. Vrátit pouze odpovídající řetězec v Sed?

  1. Nastavit Xorg, aby používal pouze část obrazovky?

  2. Jak říct Gnome, aby si znovu přečetl ~/.profile?

  3. Co znamená tilda (~) na konci názvu souboru?

  1. Jak zabránit `ls` v třídění výstupu?

  2. Jak vytisknout pouze hex hodnoty z hexdump bez čísel řádků nebo tabulky ASCII?

  3. Změňte pořadí řádků v souboru