Lire les fichiers d'un dossier

Résolu
katwes -  
 katwes -
Bonjour,





J'essaie de lire le contenu de fichier situés dans un dossier, mais le nom de ces fichiers contiennent des espaces et c'est là que j'ai un problème.
J'ai essayé le code suivant :
#!/bin/bash
IFS=$'\n\t' 
for file in 'ls *.htm' 
do
     LIENS2="$(cat \"$file\" )">>fichier_tmp.txt
done
unset IFS 

j'ai le message
cat: "fichier 1.htm": No such file or directory
alors que si j'essaie avec un fichier qui n'existe pas
cat "fichier 1.html"

le message est cat: fichier 1.html: No such file or directory

Il n'y a plus les quotes.
Est-ce que quelqu'un peut m'aider ?

Merci d'avance
A voir également:

5 réponses

katwes
 
Le but de mon script est de lire tous les fichiers d'un répertoire et de mettre le contenu de ces fichiers dans un autre fichier fichier_tmp. Mais comme le nom de ces fichiers contiennente des espaces un cat $file ne fonctionne pas car il s'arrête au premier espace et ne trouve pas le fichier en question.

D'où la boucle pour lire le répertoire et le cat pour lire le contenu des fichiers.
Après je souhaite me restreindre à certaines lignes . Mais si je n'arrive pas à faire cette simple opération je suis bloquée.
1
Utilisateur anonyme
 
«lire» n'a pas vraiment de sens :(
cat ./*.htm >fichier_tmp.txt
envoie le contenu de tous les fichiers *.htm dans le fichier.tmp
0
katwes
 
Merci je vais essayer
0
katwes
 
Ca fonctionne
Merci encore.
0
_Tawal_ Messages postés 644 Date d'inscription   Statut Membre Dernière intervention   73
 
Bonjour,

Vérifie les droits et permissions sur le fichier.
0
katwes
 
Merci pour cette réponse, mais je ne pense pas que ce soit ça le problème.

car si je tape directement la commande
cat "fichier 1.html"

j'ai un résultat
Mais je n'arrive pas à faire la même chose avec une variable dans un script
même chose si j'utilise le chemin absolu
0
_Tawal_ Messages postés 644 Date d'inscription   Statut Membre Dernière intervention   73
 
Essaie avec :
cat fichier\ 1.htm
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
salut,

que crois-tu faire avec «
LIENS2="$(cat \"$file\" )">>fichier_tmp.txt
» ?

Plus simplement
cat ./*.htm >fichier_tmp.txt
c'est quand même à ça que sert 'cat' : concaténer des fichiers.
mais l'emploi d'un fichier temporaire n'est probablement pas utile.
0