やりたいこと

AtCoder のABC (AtCoder Beginner Contest) に参戦する準備として、提出用のファイルをAからFまでの難易度別ディレクトリに作成したい。

$ md {a..f}; touch a/s.py; echo {b..f} | xargs -n 1 cp -v a/s.py
$ ls
a       b       c       d       e       f
$ cd b
$ ls
s.py

以下の3つのコマンドを1行で書いたもの

  • md {a..f}: 「a」から「f」までのディレクトリを作成
  • touch a/s.py: ディレクトリaにs.pyを作成
  • echo {b..f} | xargs -n 1 cp a/s.py: ディレクトリbからfにaのs.pyをコピー
    • echo B | xargs A: echoによる標準出力Bをコマンドライン引数としてAに渡す
      • -n 1: 引数をいくつずつ渡すか指定 (この場合は1)
    • cp A B: AをBににコピーする
      • -v: 何を何にコピーしたか表示する

参考: 1つのファイルを複数のディレクトリにコピーしたい〜UNIXコマンド:xargsとcpについて〜 - 君は心理学者なのか?