GNU/Linux >> Linux の 問題 >  >> Linux

Mkdirを使用して多数のディレクトリを作成しますか?

mkdirを使用して多くのディレクトリを作成したい 。各ディレクトリ名は、プレフィックス(文字列)とインデックス(整数)で構成されます。プレフィックスを「s」にし、インデックスを1〜50の範囲にしたいとします。これは、次のタイトルのディレクトリを作成したいことを意味します。

s1s2 、…、s49s50

mkdirを使用してこれを自動的に行う方法はありますか? ?お時間をいただきありがとうございます。

承認された回答:

これはシェルスクリプトで行うことができます。

純粋なsh–これはPOSIX以前のBourneシェルでも機能します:

n=1;
max=50;
while [ "$n" -le "$max" ]; do
  mkdir "s$n"
  n=`expr "$n" + 1`;
done

多数のディレクトリを作成する場合は、スクリプトをmkdirの1回の呼び出しに減らすことで、スクリプトを高速化できます。 また、テストと演算にシェルビルトインを使用します。このように:

n=1
max=50
set -- # this sets [email protected] [the argv array] to an empty list.

while [ "$n" -le "$max" ]; do
    set -- "[email protected]" "s$n" # this adds s$n to the end of [email protected]
    n=$(( $n + 1 ));
done 

mkdir "[email protected]"

Zsh、ksh93、またはbashを使用すると、これがはるかに簡単になりますが、これはmkdirに組み込まれていないことを指摘しておく必要があります。 他のシェルでは機能しない場合があります。大規模なケースでは、コマンドに渡される可能性のある引数の数または合計サイズの制限によっても影響を受ける可能性があります。

mkdir s{1..50}

Linux
  1. SSHを使用したSOCKSWebプロキシの作成

  2. 新しい変数名の一部として変数値を使用して変数を作成しますか?

  3. ls を使用してディレクトリとその合計サイズを一覧表示する

  1. TarとOpenSSLを使用してファイルとディレクトリを暗号化および復号化する方法

  2. bashでインストールを使用してディレクトリをディレクトリにコピーする方法は?

  3. ディレクトリ内に一度に複数のディレクトリを作成するにはどうすればよいですか?

  1. LinuxでsFTPを使用してファイル/ディレクトリをアップロードまたはダウンロードする方法

  2. Ubuntu20.04でLsyncdを使用してディレクトリを同期する方法

  3. Linuxでのディレクトリの作成、削除、および管理