Antworten:
Das Löschen aller Leerzeichen kann eine der folgenden Ursachen haben:
0x20.\t".\n" Newline und andereWenn sedes aus irgendeinem versteckten Grund nicht erforderlich ist, verwenden Sie besser das richtige Werkzeug für den Job.
Der Befehl trwird hauptsächlich zum Übersetzen (daher der Name "tr") einer Liste von Zeichen in eine Liste anderer Zeichen verwendet. Als Eckfall kann es in eine leere Liste von Zeichen übersetzt werden. Mit der Option -d( --delete) werden die in der Liste angezeigten Zeichen gelöscht.
Die Liste der Zeichen kann Zeichenklassen in der [:...:]Syntax verwenden.
tr -d ' ' < input.txt > no-spaces.txttr -d '[:blank:]' < input.txt > no-spaces.txttr -d '[:space:]' < input.txt > no-spaces.txtsedBei sed muss die [:...:]Syntax für Zeichenklassen mit der Syntax für Zeichensätze in regulären Ausdrücken kombiniert werden [...], was zu etwas Verwirrung führt [[:...:]]:
sed 's/ //g' input.txt > no-spaces.txtsed 's/[[:blank:]]//g' input.txt > no-spaces.txtsed 's/[[:space:]]//g' input.txt > no-spaces.txttr -d ' ' < input.txt > no-spaces.txt.
trjetzt beheben . (Sehen Sie es woanders?)
Sie können dies verwenden, um alle Leerzeichen zu entfernen in file:
sed -i "s/ //g" file
man sed | sed "s/ //g"
/durch ein anderes Zeichen ersetzen , z. B .:sed "ss ssg"