Nicht imstande, eine Reihe von Dummy-Dateien zu machen
Frage
Ich brauche, um Dateien von File1, File2 genannt zu machen, ... zu File99.
Ich habe versucht, die folgenden erfolglos
cat test > {File1 .. File99}
Der Befehl ohne das Wort Datei hat nicht funktioniert.
Lösung
Nur ein Befehl:
touch File{1..99}
Andere Tipps
$ for i in {1..100}; do touch "File$i"; done
Dies hängt von der Shell Sie verwenden. Ich nehme an, Sie verwenden Bash.
Nach http://www.gnu.org /software/bash/manual/bashref.html#Brace-Expansion , wird Bash Zahlen und einzelne Zeichen erweitern. So Ihre Klammer Ausdruck sein sollte:
File{1..99}
Aber ich glaube nicht, den Umleitungsoperator „>“ ausgeben kann, um mehrere Dateien. Möglicherweise müssen Sie eine Schleife verwenden:
for output in File{1..99}
do
cat test > $output
done
oder als Einzeiler:
for output in File{1..99}; do cat test > $output; done
Wenn Sie eine nicht Looping Version bevorzugen, dann können Sie T-Stück verwenden
cat test | tee File{1..99} > /dev/null
Mit zsh (mit mult_ios ) können Sie:)
% zsh -c 'print test > file{1..3}'
% head file*
==> file1 <==
test
==> file2 <==
test
==> file3 <==
test
Wenn Sie die Dateien wollen richtig sortieren (FILE01, file02 ... Datei10, etc.), dies zu tun:
for i in {0..10}; do i="0"$i; touch file${i: -2}; done
Welche ist das gleiche wie:
for i in {0..10}
do
i="0"$i
touch file${i: -2} # or cat file > file${i: -2}
done
Es muss ein Leerzeichen zwischen dem Doppelpunkt und dem Bindestrich in der Teilkette Expansion Klausel sein. Sie können die Bereiche, die oben mit 1 beginnen, wenn Sie mit „FILE01“ gestartet werden soll.
Oder eine viel prägnante Weise führende Nullen zu haben:
touch file{0..9}{0..9}
und phyrex1an sprüht mit dieser zu verwenden:
cat test | tee File{0..9}{0..9} > /dev/null
Dies macht eine zusätzliche Datei „file00“ machen. Sie können auch tun „{2..3} {0..9}“ für „file20“ bis „file39“, aber die Einerstelle zu ändern (der zweite Bereich) würden Teile der Sequenz verursachen übersprungen werden.