GNU/Linux >> Tutoriels Linux >  >> Linux

Lister tout fichier se terminant par .in et correspondant .out avec le script Shell ?

J'ai un répertoire plein de fichiers se terminant par différentes extensions, comment puis-je lister/sélectionner uniquement les fichiers se terminant par .in et .out correspondant qui partagent le même nom de base ?

ex.

file1.txt
file1.in
file2.in
file3.in
file2.out
file3.out

Ce que je veux sélectionner parmi ces fichiers sont :

file2.in
file2.out
file3.in
file3.out

Réponse acceptée :

Puisque vous voulez .in à coupler avec .out , boucle uniquement sur *.in et vérifiez s'il existe un .out correspondant fichier, si oui, imprimez les deux :

for f in *.in; do
  if [[ -f ${f%.in}.out ]]; then
    echo $f
    echo ${f%.in}.out
  fi
done

Linux
  1. Exécution du script avec ". » Et avec « source » ?

  2. Comment créer un fichier temporaire en script shell ?

  3. Script Shell avec fonction et paramètre comme variables ?

  4. Comment changer un mot dans un fichier avec un script shell Linux

  5. Script mixte shell et python possible ?

Télécharger des fichiers avec Wget sur le shell Linux - Explication et exemples

Comment capturer les sessions de terminal et la sortie avec la commande de script Linux

Comment travailler avec File and Shell Provisioner dans Vagrant

Trouver un fichier correspondant à un certain modèle et donner ce nom de fichier comme valeur à une variable dans un script shell ?

Créer des modèles avec Linux dans un script Shell ?

Un script shell peut-il attendre qu'un fichier change et agir ?