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 17:37 von 127.0.0.1