web-dev-qa-db-fra.com

Comment obtenir une liste de noms de fichiers sur différentes lignes

Je souhaite obtenir la liste de tous les fichiers d’un répertoire, comme avec ls, afin que chaque nom de fichier apparaisse sur une ligne distincte, sans les détails supplémentaires fournis par ls -l. J'ai regardé ls --help et n'a pas trouvé de solution. J'ai essayé de faire

ls -l | cut --fields=9 -d" "

mais ls n'utilise pas un nombre fixe d'espaces entre les colonnes. Une idée sur la façon de faire cela, de préférence sur une ligne?

109
Amir Rachum

ls -1

C'est un nombre, pas petit L.

246
Let_Me_Be

ls -1. De l'aide:

-1 liste un fichier par ligne

Fonctionne sur cygwin et FreeBSD, donc ce n'est probablement pas trop spécifique à GNU.

23
jhwist

solution sans tuyauterie :-)

 ls --format single-column

Notez que les options longues ne sont supportées que sur les GNU coreutilsBSD ls ne supporte que les arguments courts -1

11
rene

Peut-être:

ls | awk '{print $NF}'
6
Eelvex

ls | cat ... ou éventuellement, ls -1

4
Johan Kotlinski

Utiliser la commande sed pour lister des colonnes individuelles

ls -l | sed 's/\(^[^0-9].\*[0-9]\*:[0-9]\*\) \(.*\)/\2/'
3
vara

Essaye ça:

$ ls | xargs -n num

Ici num est le nombre de colonnes que vous voulez lister.

3
honeytechiebee

d'abord, vous pouvez l'utiliser. il affichera un fichier par ligne.

ls -l | sed 's /(.*) (. *) $/\ 2 /'

ou bien vous pouvez utiliser ainsi

trouver . -maxdepth 1 | sed 's /.///'

les deux choses sont les mêmes.

1
Mani R

Cela fera aussi

ls -l | awk '{print $NF}'
0
Vicky

Cela fonctionne aussi: echo -e "\ n $ (ls)"

0
Anshul Ayushya