Command Line One-Liner

Hier sammle ich kleine nützliche Einzeiler für die Kommendozeile (= „Command line one-liner“):

((Work in progress…))

Squid Access-Log mit Uhrzeiten versehen:

grep -h 'suchstring' /var/log/squid3/access.log* | \
    perl -p -e 's/^([0-9]*)/"[".localtime($1)."]"/e'

Interpretiert die am Anfang jeder Zeile stehenden Ziffern als Unix-Zeitstempel und konvertiert die in ein lesbares Format.
Beim grep das -h nicht vergessen – das führt dazu, dass der Dateiname nicht mit ausgegeben wird, was das Perl-Skripchen durcheinander bringen würde.

Eigene IP via Kommandozeile herausfinden

dig +short myip.opendns.com @resolver1.opendns.com

ggf. dig installieren mit apt-get install dnsutils o.ä.

OpenWrt (oder LEDE): Alle Packages upgraden

opkg list-upgradable | awk '{ print $1; }' | xargs opkg upgrade

Neuestes File im Dateibaum finden

find . -type f -printf "%T@ %p\n" | sort -n | cut -d' ' -f 2 | tail -n 1 | xargs ls -la

(s.a. hier).

Docker

s.a. hier

Docker Images und Container aufräumen

docker ps -aqf status=exited | xargs docker rm
docker images -qf dangling=true | xargs docker rmi

Docker-Umgebungsvariable löschen

…damit man nach Verwendung von docker-machine wieder auf den lokalen docker-Dämon zugreift:

eval $(set | grep DOCKER | gawk -F '=' '{ print $1; }' | xargs echo unset)

Speicherbelegung der Docker-Container ausgeben

…sortiert nach Größe:

docker stats --no-stream $(docker ps --format "{{.Names}}") | sed 's/\.[0-9]*\([kGM]i*B \)/\1/' | sort -h -k 4