Je veux obtenir une liste de tous les fichiers dans un répertoire, comme avec ls
, afin que chaque nom de fichier soit sur une ligne distincte, sans les détails supplémentaires fournis par ls -l
. J'ai regardé ls --help
et n'ai 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 procéder, de préférence en une seule ligne?
ls -1
. De l'aide:Fonctionne sur cygwin et FreeBSD, donc ce n'est probablement pas trop spécifique à GNU.
la source
solution sans tuyauterie :-)
Notez que les options longues ne sont prises en charge que sur les coreutils GNU où BSD ls ne prend en charge que les arguments courts
-1
la source
Peut-être:
la source
ls | cat
... ou éventuellement,ls -1
la source
cat
n'est pas inutile dans ce cas. Il formate la sortie dels
dans une colonne comme OP le demande.Utilisez la commande sed pour lister des colonnes uniques
la source
ls -l
produit le même résultat que votre réponse entière. Je ne sais pas ce quised
est ajouté ici ...Essaye ça:
Voici le
num
nombre de colonnes dans lesquelles vous souhaitez lister.la source
vous pouvez d'abord 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.
la source
sed: -e expression #1, char 16: invalid reference \2 on `s' command's RHS
Cela fera aussi
la source
Cela fonctionne également: echo -e "\ n $ (ls)"
la source