Benutzer-Werkzeuge

Webseiten-Werkzeuge


sed-suchen-ersetzen-mehrmals

Mit dem Kommandozeilentool sed kann man in einen Aufruf ein mehrmaliges Suchen und Ersetzen eines Strings durchführen. Dazu ein Beispiel, wie man aus allen Zeilen der Crontab (außer Leer- und Kommentarzeilen), die sechs Crontabfelder anstatt des Leeraumes mit dem Datenfeldtrenner # bestückt.

 # crontab -l | egrep -v '(^#|^$)' | sed -e's/[ ,\t]\{1,\}/#/' -e's/[ ,\t]\{1,\}/#/' -e's/[ ,\t]\{1,\}/#/' -e's/[ ,\t]\{1,\}/#/' -e's/[ ,\t]\{1,\}/#/'

Das Ergebnis sieht dann wie im nachfolgenden Listing aus.

 03#16-20/4#*#*#*#/usr/bin/find /var/log/chkrootkit -mtime +30 -name "chkrootkit*" -exec rm -f {} \;
 20#17#*#*#*#/usr/sbin/logrotate /etc/logrotate.conf -v
 09#8-20/6#*#*#*#/usr/local/scripts/getdisktemp.sh

Nun kann man ggf. diese Ausgabe in einem Script zur weiteren Verarbeitung nutzen.

sed-suchen-ersetzen-mehrmals.txt · Zuletzt geändert: 2020/01/23 16:37 (Externe Bearbeitung)