GNU/Linux >> Tutoriels Linux >  >> Linux

Imprimer tous les fichiers d'un dossier ?

disons ls renvoie file1 file2 dir1 dire2 ... , je veux imprimer you have file1 file2 dir1 dire2 ... in currnent folder .

Comment puis-je faire cela ?
ls | xargs -i echo 'you have {} in current folder' impressions

you have file1 in current folder
you have file2 in current folder
you have dir1 in current folder
you have dir2 in current folder
you have xxx in current folder

aussi, j'ai essayé
ls |xargs printf 'you have %s %s %s %s in current folder'
mais n'a pas pu le faire fonctionner. car le nombre de fichiers est indéfini. quelle est la bonne syntaxe pour printf dans ce cas ?

ls | xargs printf 'you have [email protected] in current folder' est le plus proche que je puisse obtenir, mais cela ne fonctionne pas.

Réponse acceptée :

Ce qui suit fonctionnera mais aura probablement des implications négatives sur la sécurité :

echo "You have" * "in current folder"

IMO un meilleur moyen, mais nécessitant deux lignes serait :

files=(*)
echo "You have ${files[@]} in curent folder"

Avec printf :

files=(*)
printf '%s ' "You have ${files[@]} in current folder"

Linux
  1. Imprimer deux fichiers sur deux colonnes ?

  2. Comment imprimer le nom des fichiers manquants dans un dossier ?

  3. Comment supprimer tous les fichiers avec une extension particulière dans un dossier particulier ?

  4. Boucler dans un dossier et lister les fichiers ?

  5. Déplacer tous les fichiers sauf un

Décompressez tous les fichiers dans un répertoire

Supprimer les fichiers .DS_STORE dans le dossier actuel et tous les sous-dossiers de la ligne de commande sur Mac

Exécutez tous les scripts shell dans le dossier

Comment déplacer tous les fichiers du répertoire courant vers le répertoire supérieur ?

Compter toutes les occurrences d'une chaîne dans tous les fichiers d'un dossier

Supprimer tout /var/log ?