Mac OS X でリストからフォルダーを自動的に作成するにはどうすればよいですか?

Mac OS X でリストからフォルダーを自動的に作成するにはどうすればよいですか?

次のようなリストがファイルにありますnames.txt:

JOHN DOE
JANE DOE
ADAM SMITH
SARAH BROWN
SUSIE JOHNSON

このリストの各行からフォルダーを作成するためにターミナルで実行できるスクリプトはありますか?

答え1

テキスト ファイルの各行に対してコマンドを実行する簡単な方法があり、 のような単一のコマンドに対して過剰なスクリプトは必要ありませんmkdirxargs次のようにコマンドを使用します。

xargs -tI % mkdir % < names.txt

オプションは、 の各行に対して コマンドを実行するように-I指示します。この場合、 STDIN はでファイルを読み取ったものです。文字は、 をファイルからの行のプレースホルダーとして使用する置換文字列です。つまり、コマンドでが見られるすべての箇所で、がファイルからの行に置き換えられます。xargsSTDINnames.txt< names.txt%xargsxargs%%

この-tオプションにより、xargs各コマンドが実行される前に印刷されます。必須ではありませんが、より複雑な問題の場合に役立ちます。

xargsサンプル ファイルで実行すると、出力は次のようになります。

mkdir ジョン・ドゥ
mkdir JANE DOE
mkdir アダム・スミス
mkdir SARAH BROWN
mkdir SUSIE JOHNSON

コマンドはファイルmkdirの名前で新しいフォルダーを作成しますnames.txt

関連情報