74 votes

Comment faire pour que ls n'affiche que les fichiers ?

Je me dis qu'il doit y avoir un moyen de faire en sorte que ls n'affiche que les non-répertoires, mais la page de manuel ne le rend pas évident

1voto

S.Macualiff Points 25

Vous pouvez utiliser du au lieu de ls . Il ne produira que des fichiers. Ensuite, il suffit de awk '{print $2}' pour afficher uniquement le chemin d'accès au fichier.

Vous devez utiliser l'option -d avec du pour limiter la profondeur. http://linuxcommand.org/lc3_man_pages/du1.html

1voto

Fazal Points 121

Si vous ne voulez que des fichiers et ne voulez effectuer aucune opération sur eux, alors exécutez :

ls -lA | grep -v '^d'

Ou, si vous voulez itérer sur chaque fichier, alors pour moi cela fonctionne :

ls *.?*

0voto

Dominic Points 11

Et si vous ne voulez que des dossiers, que des fichiers ou les deux ?

Et si vous voulez des fichiers cachés ou des dossiers cachés ou non ?

showVisibleFilesOnly() {
  ls -p | grep -v /
}
showVisibleFoldersOnly() {
  ls -p | grep / | grep "^."
}

showOnlyFilesIncludingHidden() {
  ls -Ap | grep -v / | grep "^."
}
showOnlyFoldersIncludingHidden() {
  ls -Ap | grep / | grep "^."
}

showHiddenFoldersOnly() {
  ls -Ap | grep / | grep "^\." | grep "\."
}
showHiddenFilesOnly() {
  ls -Ap | grep -v / | grep "^\." | grep "\."
}

showAllFilesAndFoldersIncludingHidden() {
  ls -Ap
}

showHiddenFilesAndFoldersOnly() {
  ls -Ap | grep "^\."
}

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X