Entferne Leerzeichen mit Komma in einem String in der Bash-Shell

7

Ich möchte Leerzeichen / Leerstellen in einem String durch Kommas ersetzen.

%Vor%

bis

%Vor%     
user1293997 02.04.2012, 20:45
quelle

6 Antworten

15

Ohne externe Tools zu verwenden:

%Vor%

Demo:

%Vor%

Siehe bash: Bearbeiten von Strings .

    
Mat 02.04.2012, 20:48
quelle
10

Benutze einfach sed:

%Vor%

oder reiner BASH-Weg ::

%Vor%     
anubhava 02.04.2012 20:47
quelle
5
%Vor%

Hinweis:

Wenn weitere Leerzeichen vorhanden sind, werden sie durch ein einzelnes Komma ersetzt. Wie das obige Beispiel zeigt.

    
Kent 02.04.2012 20:49
quelle
2

Wie wäre es mit

? %Vor%

Wenn Sie in Ihrem String mehrere benachbarte Leerzeichen haben und diese auf 1 Komma reduzieren möchten, ändern Sie sed in

%Vor%

Ich verwende einen nicht standardmäßigen sed und habe daher '' [[:: space:]] [[:: space:]] * to indicate one or more "white-space" characters (including tabs, VT, maybe a few others). In a modern sed, I would expect [[:: space:]] + 'ebenfalls verwendet .

    
shellter 02.04.2012 20:48
quelle
1

Dies könnte für Sie funktionieren:

%Vor%

oder:

%Vor%     
potong 02.04.2012 21:27
quelle
0
%Vor%     
Teja 02.04.2012 20:48
quelle

Tags und Links