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?
ls -1
C'est un nombre, pas petit L
.
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.
solution sans tuyauterie :-)
ls --format single-column
Notez que les options longues ne sont supportées que sur les GNU coreutils où BSD ls ne supporte que les arguments courts -1
Peut-être:
ls | awk '{print $NF}'
ls | cat
... ou éventuellement, ls -1
Utiliser la commande sed pour lister des colonnes individuelles
ls -l | sed 's/\(^[^0-9].\*[0-9]\*:[0-9]\*\) \(.*\)/\2/'
Essaye ça:
$ ls | xargs -n num
Ici num
est le nombre de colonnes que vous voulez lister.
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.
Cela fera aussi
ls -l | awk '{print $NF}'
Cela fonctionne aussi: echo -e "\ n $ (ls)"