Aus 4 mach 2 – Spaces

Heute schließe ich mich meinem Kollegen Eric Lippmann mit seinen Sed Tricks an. Heute heißt es: “Aus 4 mach 2”. Der Wechsel von Spaces in Einrückungen funktioniert nicht überall reibungslos. Entweder ist die Änderung mit Codestyle verbunden (tools) oder ich brauche spezielle, oberflächen-behaftete Software (vi o.ä.).
Mit Sed ist dies mit einem Einzeiler möglich – Und damit integrierbar in alle meine find und git hacks ;-):

sed -i .BAK 'h;s/[^ ].*//;s/    /  /g;G;s/\n *//' /path/to/file

Mit der Operation -i wird die Datei gleich geändert und das Original also file.BAK abgespeichert.
 

Marius Hein
Marius Hein
Head of Development

Marius Hein ist schon seit 2003 bei NETWAYS. Er hat hier seine Ausbildung zum Fachinformatiker absolviert, dann als Application Developer gearbeitet und ist nun Leiter der Softwareentwicklung. Ausserdem ist er Mitglied im Icinga Team und verantwortet dort das Icinga Web.

Leerzeichen und Zeilenumbrüchen and den Kragen gehen

Da die letzten Blogposts ausreichend Text zum Lesen enthalten, kommen von mir in aller Kürze und Würze sed-Befehle, um Leerzeichen und Zeilenumbrüche bevorzugt im Quelltext aufzuräumen.
Leerzeichen am Ende einer Zeile entfernen:

sed 's/\s\+$//' 

Aus mehreren Zeilenumbrüchen nur Einen machen:

sed '/^$/N;/^\n$/D' 

Zeilenumbruch, falls noch nicht vorhanden, am Ende einer Datei einfügen:

sed '$a\' 

Weitere sed-Einzeiler findet man z.B. hier.

Eric Lippmann
Eric Lippmann
Lead Senior Developer

Eric kam während seines ersten Lehrjahres zu NETWAYS und hat seine Ausbildung bereits 2011 sehr erfolgreich abgeschlossen. Seit Beginn arbeitet er in der Softwareentwicklung und dort an den unterschiedlichen NETWAYS Open Source Lösungen, insbesondere inGraph und im Icinga Team an Icinga Web. Darüber hinaus zeichnet er sich für viele Kundenentwicklungen in der Finanz- und Automobilbranche verantwortlich.