GNU/Linux >> Tutoriels Linux >  >> Linux

Dites à `ls` d'imprimer uniquement le nom de fichier de base

Alors que xargs -0 est destiné à être utilisé pour une entrée délimitée par \0 (comme find -print0 ), ls n'a pas une telle option pour délimiter sa sortie de cette manière.

Cependant,

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

ferait l'affaire pour convertir les nouvelles lignes en null en cours de route. Cela permet alors à xargs de travailler avec des noms qui ont des espaces.

EDIT :ajout de -n 1 à xargs


J'utilise ceci :

ls | tr '\n' '\n'

Cela donne une liste comme :

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

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

Linux
  1. Une vue pratique de la commande xargs

  2. Ne renvoyer que la chaîne correspondante dans Sed ?

  3. Configurer Xorg pour n'utiliser qu'une partie de l'écran ?

  4. Comment dire à Gnome de relire le ~/.profile ?

  5. Que signifie le tilde (~) à la fin d'un nom de fichier ? ?

Comment utiliser la commande Linux xargs

Comment empêcher `ls` de trier la sortie ?

Comment dire à Xargs quel argument choisir ??

Comment utiliser la commande xargs sous Linux ?

Changer l'ordre des lignes dans un fichier

Grep dans un énorme fichier journal (> 14 Go) uniquement les derniers x Go ?