Ich muss Ordner zwischen 00 und 99 (00, 01, 02, 03 usw.) an mehreren hundert Stellen erstellen . Gibt es einen einzeiligen Befehl, mit dem ich das machen kann?
16
Die Antwort von mulaz ist richtig, aber viele Leute sagen, dass seq
es böse ist, weil die meisten Muscheln Sie das Folgende tun lassen
mkdir {00..99}
In einigen älteren Versionen von bash ist es jedoch 0-9
nicht gepolstert, sodass Sie dies tun müssten
mkdir 0{0..9} {10..99}
Wird das gehen?
Führt eine Schleife für die Nummern 0-99 aus und "-w" setzt die gleiche Breite (0-Auffüllung für 0-9)
quelle
seq -w 0 99 | xargs mkdir
würde auch den Job machen.mkdir $(seq -w 0 99)
. Oder verwenden Sie Backticks anstelle von$()
, aber ich kann wegen der Serverfehlersyntax keine Backticks eingeben.mkdir `seq -w 0 99`
(Ich konnte den zusätzlichen Platz nicht vermeiden). Sehen Sie hier , aber es sieht so aus, als würde der Trick, Leerzeichen in die Begrenzer einzufügen, hier nicht funktionieren.Ich weiß, dass dies alt ist, aber meine Empfehlung wäre:
denn ich in
seq -f %02g 0 99
; do mkdir $ i; erledigtMit -f% 02g wird sichergestellt, dass mindestens zwei Zeichen (z. B. 00 oder 99) verbleiben, und es können weiterhin 3 Zeichen nach 99 eingegeben werden. Wenn Sie also 100 haben, wird dies nicht zu 001. Es wird 00-99 100 anstelle von 001-. 100 wie das -w.
quelle