Quelle est la manière la plus simple d'analyser les caractères de continuation de ligne? Cela semble être une action si fondamentale que je suis surpris qu'il n'y ait pas de commande de base pour cela. "while read" et "while read -r" ne font pas ce que je veux, et la solution la plus simple que j'ai trouvée est la solution sed ci-dessous. Y at-il un moyen de le faire avec quelque chose de fondamental comme TR?Suite de lignes d'analyse
$ cat input Output should be \ one line with a '\' character. $ while read l; do echo $l; done < input Output should be one line with a '' character. $ while read -r l; do echo $l; done < input Output should be \ one line with a '\' character. $ sed '/\\$/{N; s/\\\n//;}' input Output should be one line with a '\' character. $ perl -0777 -pe 's/\\\n//s' input Output should be one line with a '\' character.
Notez que la solution perl fonctionne uniquement avec un drapeau/g, et je ne suis même pas sûr de savoir comment modifier le sed pour gérer plusieurs continuation, démontrant la fragilité de ces solutions. –
Vous voulez faire le remplacement de sed global: '/ \\ $/{N; s/\\\ n // g;} ' – dmckee
parce que les fichiers texte normaux n'ont généralement pas besoin d'un \ à la fin pour signifier la continuation. la continuation de la ligne est liée à la coquille. – ghostdog74