Für alle die mal gerne in großen Listen auf ihrem Apple Suchen und gerne wissen wollten wie viel da denn drauf ist (in einem Ordner)
Alle HD-Filme daran erkennen das man die irgendwie im Dateinamen mit "HD" markiert hat:
$ ls | grep HD
Wie viele können das wohl sein?
$ ls | grep HD | wc -l
Das ganze kann man auch einfach abspeichern!
$ ls | grep HD > ~/Desktop/HD_Movies.txt
Speichert euch alles mit HD im Namen auf dem Desktop als Textdatei.
So und um das mal ein wenig praktisch zu machen: Ein Befehl, der euch alle HD Filme aus eurem Home-Movie Ordner auf dem Desktop speichert:
$ ls ~/Movies/ | grep HD > ~/Desktop/HD_Movies.txt
Das ~ bekommt ihr btw. mit Apfel+N (auf der deutschen Klampfe), danach ein Leerzeichen machen!
Das schöne ist - jeder Mac kann das! Ja sogar jeder auf nem *-NIX System basierender Rechner! Ich hab das nicht rausgefunden. Aber das sog. Piping ist so alt und trotzdem noch so toll aktuell und cool - zieht euch hoffentlich die Socken aus. Demnächst noch mehr - "Wie finde ich alle MP3s von einem Künstler" ... bald!
Kommentieren und noch mehr nachfragen ist erwünscht!
Für alle die einen Mac haben und gerne in Eclipse programmieren ... Antialiasing in Eclipse in OSX abstellen:
defaults write org.eclipse.eclipse AppleAntiAliasingThreshold 12
Dabei ist die 12 die Schriftgröße bis zu der Antialiasing angewendet werden soll.
Da ich jetzt von KeepassX auf 1Password umgestiegen bin habe ich nicht mehr diese tolle "Passwort generieren"-Funktion und deswegen hab' ich mich mal auf die Suche begeben und hab dieses echt schicke, kurze, einfache Perl script gefunden:
#!/usr/bin/perl
if($ARGV[0] !~ /^d+/) { $count=9; }
else { $count=$ARGV[0]; }
system("head -c $count /dev/random | uuencode -m - | tail -n 2 | head -n 1 ");
Das Speichert man einfach unter einem beliebigen Namen und ruft es im Terminal auf:
$ perl genpass.pl 32
und schon hat man schicke Passwörter :)
So, jetzt mal wieder was für die Shell-Freaks und so ... ist vielleicht nicht für alle interessant, wie schon die vorherigen Beiträge gezeigt haben, aber naja, hey! ich blogge wieder - is das 'n Ding ;-)
Verzeichnisse eines Ordners in einen Array lesen
for i in ./*
do
if (test -d "$i") then
arr[${#dirArr[*]}]=$i;
fi
done
Danach kann man die Ordner fein Zippen - oder sonstwas damit machen wenn man Bock hat:
for dirName in ${dirArr[@]}
do
zip -rq $dirName ./$dirName/*
done
So, wie gestern schon angekündigt, kann ich jetzt endlich code Zeilen posten! Was für ein Spass! So, jetzt hier das aller erste mal richtiger Code. Einfach und nützlich.
Wer auf -NIX Systemen (oder auch OSX) arbeitet kann das hier vielleicht gebrauchten:
# configuration
projectName=$1
projectsDir=projects/
deployDir=download/
# display help message, when -h or --help passed
if (test "$projectName" = "-h" || test "$projectName" = "--help") then
echo "this is the help message for your help - nice huh?"
echo "this script was created for deploying a project"
echo "example usage:"
echo " sh deploy.sh ephReggy -- deploys the ephReggy project"
echo " sh deploy.sh all -- deploys all projects found in the $deployDir"
echo
exit
fi
# no param given, no projectname passed
if (test "$projectName" = '') then
echo "empty project name, please specify a project name"
exit
fi
# deploy all projects? hu?
if (test "$projectName" = "all") then
echo "okay, deploying all projects? Sure? (Y/N) c"
read deployAll
if (test ! "$deployAll" = 'Y') then
echo "okay, no deployment done. see ya!"
exit
fi
projectsToDeploy=( ephReggy ephScrobblrRead ephVat ephWatts )
# deploy only project that was passed
else
projectsToDeploy=( $projectName )
fi
# create deploy directory
if (test ! -d "$deployDir") then
echo "creating deploy Directory $deploy ..."
mkdir "$deployDir"
fi
# start deploying projects
for projectName in ${projectsToDeploy[@]}
do
projectDir=$projectName
# test existence of project folder
projectDir="$projectsDir$projectName"
if (test ! -d "$projectDir") then
echo "project directory for $projectName was not found: $projectDir";
exit
fi
# start deploying
# add exclude if found
if (test -f "deploy_exclude.lst") then
excludeStatement="-x@deploy_exclude.lst"
fi
projectZipFileName="$deployDir$projectName.zip"
echo "deploying $projectName to $projectZipFileName c"
zip -rq $excludeStatement $projectZipFileName $projectDir/*
echo "done!"
done
echo "Everything done, now quiting. See Ya!"
Im groben nimmt dieses Shell-Script einen Ordner den man per Paramter angibt und im $projectsDir liegen muss, zippt diesen und platziert das Zip in $deployDir. Sehr hilfreich wenn man mehrere Projekte, also Ordner zippen möchte und keine Lust hat alles per Hand über den Finder zu machen - Anklicken, zippen, verschieben entfällt.
Man gibt einfach so was in die Console ein:
$ sh deploy.sh all
"deployed" alle Projekte in dem Projekte Ordner die in dem $projectsToDeploy Array angegeben sind. (wie auf dem Screen weiter unten gezeigt)
Einzelne Projekte, oder halt Ordner kann man folgendem Befehl "deployen":
$ sh deploy ephReggy
Wenn man es total funky will kann man auch sog. Escape-Sequenzen benutzen um die Ausgabe des Scripts farbig zu gestalten. Hier ein Screenshot, der zugleich farbige Ausgabe zeigt, als auch die Funktionsweise:
Joar, vielleicht etwas wirr, aber probiert das mal aus, das bringts voll!
Denkbar ist das man das ausbaut, das Script die Dateien auch auf einen Server hochlädt, Teile des Quellcodes löscht, die man nicht drin haben will (offline Code, Testing-Code, Kommentare usw.) und was weiss ich.
Im Firefox hat man ja die Java Script Console und im IE / Windows vielleicht noch die Java Console um Javascript Fehler zu sehen. Leider ist der Safari nicht von Haus aus so miteilungsfreundlich. Dem kann man aber wieder mit einem Befehl im Terminal Abhilfe schaffen:
defaults write com.apple.Safari IncludeDebugMenu 1
und schon hat man umfangreiche Debug Funktionen zur Auswahl.
Weitere gute Erweiterungen wie man sie teilweise vom Firefox kennt gibt es zum Beispiel bei Pimpsafari
Ich hab mein Mac jetzt auch mit einer drahtlosen Mighty Maus bestückt (noch weniger Kabelgedöns). Leider ist die etwas langsam, selbst wenn man die Geschwindigkeit in den Einstellungen bis auf das Maximum erhöht.
Man kann aber mit folgendem Befehl im Terminal schnell Abhilfe schaffen:
defaults write -globalDomain com.apple.mouse.scaling -float 5
mit einer 7 bin ick sehr zufrieden :)
Nach 3 Monatiger Pause sind die Superpositioners diesen Samstag wieder da und heizen euch auf dem ein-jahres-birthday-bash von pentagonik im festsaal kreuzberg so richtig ein!