Je suis en train d'analyser certains fichiers .html
dans Bash. J'ai lu l'entrée avec:Lire le fichier ligne par ligne dans Bash développe les caractères spéciaux
while read line
do
echo $line
...do something...
done < $file
Maintenant j'ai expier quelque chose de vraiment étrange. Quelques lignes dans les fichiers contiennent quelque chose comme
Resolution…: 720 * 576
Mais bash me donne ceci:
Resolution…: 720 mysript.sh another_script.pl 576
Bash élargit le * char
au contenu du répertoire réel. Comment puis-je lire le texte ligne par ligne sans expansion.
Merci beaucoup, J'ai été aveugle – cb0
Cette réponse est incorrecte! Pour "sourceFile" contenant "RewriteRule^(. *) \. [\ D] {10} \. (Css | js) $ $ 1. $ 2 [L]" cat sourceFichier | en ligne de lecture; echo "$ {line}" produit RewriteRule^(. *). [d] {10}. (css | js) $ $ 1. $ 2 [L] WRONG alors que la même commande avec read -r ligne produit RewriteRule^(. *) \. [\ d] {10} \. (css | js) $ $ 1. $ 2 [L] CORRECT – Pancho
@catwalk -mon excuses - comme ci-dessous j'ai confondu deux choses donc probablement les deux réponses sont corrects – Pancho