Comment puis-je remplacer toutes les nouvelles lignes par un espace, à l'exception de la dernière nouvelle ligne? Je peux remplacer toutes les nouvelles lignes dans l'espace, trmais comment puis-je le faire à quelques exceptions près?
Comment puis-je remplacer toutes les nouvelles lignes par un espace, à l'exception de la dernière nouvelle ligne? Je peux remplacer toutes les nouvelles lignes dans l'espace, trmais comment puis-je le faire à quelques exceptions près?
Réponses:
Ré-implémenter l'idée de vonbrand en Perl, à condition que le fichier soit assez petit:
perl -p00e 's/\n(?!\Z)/ /g' your_file
Cela a fonctionné pour moi.
tr '\n' ' ' < file_with_new_line | sed 's/\ $//g' > file_with_space
trcommande remplace toutes les nouvelles lignes par des espaces et votre sedcommande supprime le dernier espace. Cela aboutit à un fichier sans fin de ligne finale et n’est donc pas ce que la question demande. À propos, il n'y a aucun intérêt à utiliser int gdans la sedcommande. Depuis que vous utilisez $, il ne peut correspondre que à la fin, le gest inutile. Vous n'avez pas non plus besoin d'échapper à l'espace, le `` ne fait pas de différence non plus.
-set-dsemblent être faites pour ce cas.