Wie mit sed ein <Enter> einfügen?
Hallo zusammen,
ich mache hier meine ersten Schritte mit sed. Es geht um ein Script [1]
welches als /etc/cron.daily/aptcheck gespeichert täglich nachschaut ob es
Updates gibt, und mir dann eine EMail schickt.
Ich weiß, dass es dafür bessere Alternativen gibt (apticron? cron-apt?), aber
bevor ich umsteige möchte ich mit sed wenigstens noch praktisch arbeiten.
Ich möchte bei dieser Liste:
{
apt-get -s dist-upgrade | grep Inst
Inst liblcms1-dev [1.15-1] (1.15-1.1+etch1 Debian-Security:4.0/stable) []
Inst liblcms1 [1.15-1] (1.15-1.1+etch1 Debian-Security:4.0/stable)
}
das "Inst " durch einen Zeilenvorschub ersetzen, der auch in einer EMail dazu
führt. Bisher ging das so:
{
apt-get -s dist-upgrade | grep Inst | cut -c 6-30 | cut -f 1 -d " "
liblcms1-dev
liblcms1
}
aber in der Mail steht das:
liblcms1-dev liblcms1
Wie bekomme ich das untereinander? Ich habe da was mit /n im Hinterkopf, aber
dann meckert sed.
Danke schonmal, Chris.......
[1]
#!/bin/bash
EMAIL="ChristianKnorr@gmx.de"
SNAME="Christians Server `hostname`"
SUBJECT="[$SNAME] Update Hinweis"
NOSUBJECT="[$SNAME] Kein Update"
TMP=/tmp/aptcheck.`date +%Y-%m-%d_%H:%M:%S`.tmp
MESSAGE="SYSTEMMELDUNG:\nAuf [$SNAME] sind folgende Updates verfuegbar:\n\n\n"
NOMESSAGE="SYSTEMMELDUNG:\nAuf [$SNAME] sind keine neue Updates verfuegbar."
# Dieses Script versendet eine eMail, sobald Online-Updates fuer das System
# verfuegbar sind. Das Script ist Public Domain, der Autor uebernimmt keine
# Haftung fuer das Script.
# Debian
aptitude update >/dev/null
COUNT=`apt-get -s upgrade | grep -c "Inst"`
if [ $COUNT -gt 0 ]
then
echo $MESSAGE > $TMP
LIST=`apt-get -s dist-upgrade | grep Inst | cut -c 6-30 | cut -f
1 -d " "`
echo $LIST >> $TMP
echo -e `cat $TMP` | mail -s "$SUBJECT" "$EMAIL"
apt-get dist-upgrade -yd
# rm $TMP
# else
# echo -e "$NOMESSAGE" | mail -s "$NOSUBJECT" "$EMAIL"
fi
Reply to: