Einträge zu Tag: Bash

In Bash einen String aus HTML/XML-Tags extrahieren

Erstellt: 21.01.2011 15:30

Will man diverse Files auswerten welche man z.B. über "wget" oder anderes aus dem Web besorgt hat, ist es immer mal wieder nötig Werte zu bekommen, welche zwischen zwei HTML- oder XML-Tags liegen. Um diesen Wert zwischen diesen zwei Tags zu extrahieren, leistet "sed" gute Dienste.

Hier die Beispieldatei "xmlfile" aus welchem der Wert "WAHTiNEED" der zwischen den beiden Tags "<key></key>" liegt herausgefiltert werden soll:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<LoginResponse xmlns="urn:internalvim25"><returnval><key>WHATiNEED</key><userName>username</userName><fullName>username</fullName><loginTime>1970-06-25T13:51:06.256885+01:00</loginTime><lastActiveTime>1970-06-25T13:51:06.256885+01:00</lastActiveTime><locale>en</locale><messageLocale>en</messageLocale></returnval></LoginResponse>
</soapenv:Body>
</soapenv:Envelope>

...und hier der sed-String:

sed -n -e 's/.*<key>\(.*\)<\/key>.*/\1/p' Filename

...welcher "WHATiNEED" erfolgreich filtert:

$ sed -n -e 's/.*<key>\(.*\)<\/key>.*/\1/p' xmlfile
WHATiNEED



Tagged: Bash HTML/CSS Linux Regex

Kommentar verfassen | Nach oben

Exim frozen Mails löschen

Erstellt: 10.12.2010 14:33

Wenn Mails nicht versendet werden können und deshalb zu lange liegen bleiben, bekommen sie mit der Zeit Gefrierbrand:

# mailq
22h  2.6K 1PQi0e-0003S0-8s <> *** frozen ***
22h  3.2K 1PQiNE-0003SY-15 <> *** frozen ***
22h  3.1K 1PQiNE-0003Sc-2b <> *** frozen ***
21h  3.2K 1PQiwh-0003im-3Y <> *** frozen ***
18h  1.9K 1PQmBY-0004VZ-5W <> *** frozen ***
[...]

Damit man nicht alle von Hand abkratzen muss, hilft ein kleiner Einzeiler alle frozen-Mails zu löschen:

# exipick -zi | xargs exim -Mrm
Message 1PQi0e-0003S0-8s has been removed
Message 1PQiNE-0003SY-15 has been removed
Message 1PQiNE-0003Sc-2b has been removed
Message 1PQiwh-0003im-3Y has been removed
Message 1PQmBY-0004VZ-5W has been removed
[...]



Tagged: Bash Exim Linux Mail

Kommentar verfassen | Nach oben

Einzelnen Befehl mit su als anderer User ausführen

Erstellt: 15.10.2010 22:09

Manchmal kann es sein, dass man einen einzigen Befehl mit den Rechten eines anderen Users ausführen will oder muss und kein sudo zur Verfügung steht, in diesem Fall hilft auch su weiter.

# su -s /bin/bash -c "/usr/sbin/tollerbefehl" AndererUser



Tagged: Bash Linux Software

1 Kommentar | Nach oben

Crontab temporär mit anderem Editor editieren

Erstellt: 13.10.2010 18:24

Mann stelle sich das Szenario vor, es gibt Leute welche einen anderen Editor verwenden als man selbst, nun sitzt man am Computer und ruft "crontab -e" auf. Und omg(!) man wird mit irgend einem seltsamen Editor konfrontiert... sehr unschön!

Aber zum Glück gibt es auch dagegen Medizin!

$ env EDITOR=vim crontab -e

...ruft crontab (oder auch andere Programme) mittels "env" mit verübergehend anderen Umgebungsvariablen auf und die Welt ist wieder in Ordnung! Hier im Beispiel wird der Editor auf vim gesetzt.



Tagged: Bash Debian Linux

Kommentar verfassen | Nach oben

Mehrere Dateien in Kleinbuchstaben umwandeln

Erstellt: 18.09.2010 02:10

Ein kleiner aber praktischer Helfer, wenn es um das mehrfache Verschieben von Dateien geht ist mmv (multiple move).

Um möglichst schnell alle Dateien im Verzeichnis in Kleinschreibung umzuwandeln hilft folgender kurzer Einzeiler:

$ mmv -r ";*" "#l2"

Auch für andere Massenumbennenereinen ist mmv sehr praktisch, mehr davon gibts in der man-Page. ;)



Tagged: Bash Linux

Kommentar verfassen | Nach oben

« ältere Einträge

neuere Einträge »