Je sais que je peux remplacer une nouvelle ligne avec un espace à l'aide de SED (dans un fichier) en utilisant mais comment puis-je J'ai essayé de le remplacer par un espace pour le tester, mais cela n'a pas fonctionné voir ce que j'ai utilisé ci-dessous. P> 1st line_2nd line_3rd line
4 Réponses :
Pourriez-vous s'il vous plaît essayer suivi. où la valeur variable est la suivante: p> echo "$var"
1st line
2nd line
3rd line
Vous pouvez le faire en bash lui-même: p>
Ceci pourrait fonctionner pour vous (GNU SED et BASH):
<<<"$var" sed -z 'y/\n/_/'
Voici un autre qui fonctionne:
awk -v ORS="_" '1' <<<"$var"
SED ': A; N; $! BA; S / \ N / / G' <<< "$" STATION_TMP " CODE>?
Avec pure bash, vous pouvez faire
var = $ {var / ^ m / _} code> où
^ m code> est saisi comme
ctrl-v code>
Ctrl-M Code>.
@accdias Control-M n'est pas une nouvelle ligne dans UNIX, ce n'est pas
\ r code> (retour chariot) au lieu de
\ n code> (LineFeed alias NEWLINE dans UNIX).
@Edmorton, toujours juste. :-)