File1、File2、...からFile99に呼び出されるファイルを作成する必要があります。
以下を試しましたが失敗しました
cat test > {File1 .. File99}
ファイルという単語のないコマンドは機能しませんでした。
たった1つのコマンド:
touch File{1..99}
$ for i in {1..100}; do touch "File$i"; done
これは、使用しているシェルによって異なります。Bashを使用していると思います。
http://www.gnu.org/software/bash/manual/bashref.html#Brace-Expansionによると、Bash は数字と 1 文字を展開します。したがって、ブレース式は次のようになります。
File{1..99}
しかし、リダイレクト演算子 ">" は複数のファイルに出力できないと思います。ループを使用する必要がある場合があります。
for output in File{1..99}
do
cat test > $output
done
またはワンライナーとして:
for output in File{1..99}; do cat test > $output; done
ループしないバージョンを好む場合は、tee を使用できます
cat test | tee File{1..99} > /dev/null
ファイルを適切にソートするには (file01、file02 ... file10 など)、次のようにします。
for i in {0..10}; do i="0"$i; touch file${i: -2}; done
これは次と同じです:
for i in {0..10}
do
i="0"$i
touch file${i: -2} # or cat file > file${i: -2}
done
部分文字列展開句では、コロンとダッシュの間にスペースが必要です。「file01」から開始する場合は、上記の範囲を 1 から開始できます。
または、先行ゼロを持つはるかに簡潔な方法:
touch file{0..9}{0..9}
そして、これでphyrex1anのテクニックを使用するには:
cat test | tee File{0..9}{0..9} > /dev/null
これにより、1 つの余分なファイル「file00」が作成されます。「file20」から「file39」に対して「{2..3}{0..9}」を実行することもできますが、1 の桁 (2 番目の範囲) を変更すると、シーケンスの一部がスキップされます。