Wie erstelle ich in Mac OS X automatisch Ordner aus einer Liste?

Wie erstelle ich in Mac OS X automatisch Ordner aus einer Liste?

Ich habe eine Liste, die so aussieht, in einer Datei mit dem Namen names.txt:

JOHN DOE
JANE DOE
ADAM SMITH
SARAH BROWN
SUSIE JOHNSON

Gibt es ein Skript, das ich im Terminal ausführen kann, um aus jeder Zeile dieser Liste Ordner zu erstellen?

Antwort1

Es gibt eine einfache Möglichkeit, einen Befehl für jede Zeile einer Textdatei auszuführen. Dazu ist kein Skript erforderlich, was für einen einzelnen Befehl wie übertrieben wäre mkdir. Verwenden Sie den xargsBefehl folgendermaßen:

xargs -tI % mkdir % < names.txt

Die -IOption weist an, xargsfür jede Zeile von einen Befehl auszuführen STDIN. In diesem Fall stammt STDIN vom Lesen der names.txtDatei mit < names.txt. Das %Zeichen ist ein Ersetzungsstring, der xargsals Platzhalter für eine Zeile aus der Datei verwendet wird. Dies bedeutet, dass überall, wo im Befehl xargsangezeigt wird , durch eine Zeile aus der Datei ersetzt wird.%%

Die -tOption bewirkt, xargsdass jeder Befehl vor seiner Ausführung ausgedruckt wird. Dies ist nicht notwendig, kann aber bei komplizierteren Problemen hilfreich sein.

Bei xargsAusführung mit der Beispieldatei sieht die Ausgabe folgendermaßen aus:

johannes doe
mkdir JANE DOE
mkdir ADAM SMITH
mkdir Sarah Brown
mkdir Susie Johnson

und die mkdirBefehle erstellen einen neuen Ordner mit den Namen aus der names.txtDatei.

verwandte Informationen