Lire les fichiers d'un dossier
Résolu
katwes
-
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 :
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
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
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
5 réponses
-
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. -
Bonjour,
Vérifie les droits et permissions sur le fichier. -
Merci pour cette réponse, mais je ne pense pas que ce soit ça le problème.
car si je tape directement la commandecat "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 -
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
salut,
que crois-tu faire avec «LIENS2="$(cat \"$file\" )">>fichier_tmp.txt
» ?
Plus simplementcat ./*.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.