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.

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top