macOS/iTerm2: Locale Einstellung LC_CTYPE „kaputt“

Ich nutze iTerm2 als Terminal Programm auf macOS. Wenn ich mich von dort dann auf Linux Systemen per SSH einlogge, habe ich oft eine solche Fehlermeldung:

$ ssh front1
Linux front1 3.16.0-7-amd64 #1 SMP Debian 3.16.59-1 (2018-10-03) x86_64

The programs included with the Debian GNU/Linux system are free software;
…
alex@front1 ~> perl
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = "UTF-8",
LANG = "en_US"
are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US").

Grund ist, das LC_CTYPE auf einen illegalen Wert „UTF-8“ gesetzt ist. Ein sudo fgrep -ri LC_CTYPE /etc $HOME zeigte aber, das es weder in $HOME noch in /etc gesetzt wird.

Lösung: Weiterlesen

Werbeanzeigen
Android Pattern Lock Screen

Android „Muster“ Displaysperre vergessen

Ich habe in einer meiner Schubladen ein altes Nexus 5 von mir gefunden, welches ich mit einem „Muster“ (bzw. „Pattern“) „gesichert“ hatte.

Android Pattern Lock Screen

Wie es bei alten Geräten halt so ist, kannte ich das Muster nicht mehr und irgendwie konnte ich es auch nicht durch Eingabe von meiner Google E-Mailadresse + Kennwort entsperren (vielleicht wegen 2FA?). War kurz davor, es zu „wipen“ (Factory Reset), aber das wäre unnötig gewesen ☺ Weiterlesen

Hol dir auch yuilop – Unbegrenzt Gratis SMS und mehr

Hi, hiermit möchte ich dich zu yuilop einladen. Eine App mit der du unbegrenzt kostenlos SMS in alle Netze senden kannst. Doch nicht nur das, du kannst auch soviel du willst mit anderen yuilop Nutzern chatten und dich mit Facebook verbinden, um mit all deinen Freunden über eine Plattform zu kommunizieren. Die yuilop App gibts für Android und iPhone. Einfach und schnell zu installieren. Link: http://yuilop.com/dl. Grüße 🙂

Schnelles addieren von Textspalten mit awk

Schnelles addieren von Textspalten

Folgendes kleines AWK Script ("summe.awk") addiert Zahlen, die ihm als Parameter übergeben werden.

#! /usr/bin/awk -f
{ total = total + $1 } END { print total }

Hat man zum Beispiel eine Datei "tabelle.csv" mit Zeilen der Form

Text,Text,123
Text,Text,234
Text,Text,345

so liefert der Aufruf von "cut -d, -f3 tabelle.csv | summe.awk" das korrekte Resultat 702 (123 + 234 + 345).

Eine "schönere" Ausgabe erhält man allerdings durch diesen awk Aufruf:

awk ‚{ total = total + $1 } END { printf "%s (/1024=%s, /1024*1024=%s)n", total, total/1024, total/(1024*1024) }‘

Beispiel:

$ du | awk ‚{ total = total + $1 } END { printf "%s (/1024=%s, /1024*1024=%s)n", total, total/1024, total/(1024*1024) }‘
512325 (/1024=500.317, /1024*1024=0.488591)

Ist in so fern "schöner", da hierbei auch noch direkt die Angaben in "KiBi" (Kilo Binary, dh. dividiert durch 1024) und "MeBi" (Mega Binary, also geteilt durch 1024²) ausgegeben werden.

Bei GROSSEN Zahlen lässt sich das Ergebnis allerdigns nicht mehr so dolle lesen – darum zum krönenden Abschluss dies:

awk ‚{ total = total + $7 } END { printf "%’"’"’d (/1024=%’"’"’f, /1024*1024=%’"’"’f)n", total, total/1024, total/(1024*1024) }‘

Man beachte die "tolle" Anzahl von ‚ und " beim %d und %f 😉 Ergebnis ist, das tausender Trennezeichen verwendet werden. Hierbei wurde die 7. Spalte ($7) gezählt; "find … -ls" schreibt da die Dateigrösse.

Beispiel:

$ find ~/Music -iname "*.mp3" -ls |

awk ‚{ total = total + $7 } END {
printf "%’"’"’d (/1024=%’"’"’f, /1024*1024=%’"’"’f)n",
total, total/1024, total/(1024*1024)
}‘

7.419.917.094 (/1024=7.246.012,787109, /1024*1024=7.076,184362)

Nicht jedes awk unterstützt ein solches printf mit ‚. GNU awk unterstützt das aber.

Das Ergebnis ist abhängig von der locale. Bei LC_NUMERIC=C würde es keine Trennezeichen geben.
Bei LC_NUMERIC=de_CH gibt’s hingegen →’← als Trennzeichen:

7’419’917’094 (/1024=7’246’012.787109, /1024*1024=7’076.184362)

Unix/Linux Shell #FTW! 🙂

Google Wave Verlosung auf Devbloggers Blog

Alle Welt spricht ja darüber: Google Wave geht bald live. Aber so easy kommt man da nicht rein. Man muss „vorgeschlagen“ werden um dann vom Wave Team eingeladen zu werden.

Nun hat @derdevblogger Einladungen und „verlost“ auf seinem Blog Einladungen/Vorschläge. Dazu soll man nur auf seinen Blogpost verlinken.

DONE!

🙂