69406


カレントディレクトリ内にあるdirectory1からdirectory10までカレントディレクトリにあるファイルfileを一括コピーしたいです。どのようなコマンドを使えばいいでしょうか？現在は、一つずつcpコマンドしてmvで動かしているのでとても効率がわるいです。

【補足】  
今現在C言語をやっています。  
それぞれのフォルダーには関数がかかれたファイルが入っています。  
たとえばカレントに以下のディレクトリがあります。  
func_dir1 func_dir2 ...

そして、そのフォルダにはそれぞれfunctionXX（XX数字が入る）というファイルが入っています。

そしてそのfunctionのファイルには、関数が書かれています。  
それらを実行するためには、main.c内で実行します。  
そのためのmain.cを一気に作成したかったということです。

ファイルの例は、こんな感じです。

[code]

    ./func_dir1/function1
    
    
    #include <stdio.h>
    
    void function1(int a)
    {
        int *n = &a;
        printf("%d", *n);
    }
    
[/code]

このようなファイルがそれぞれのディレクトリに入っています。  
そして、以下のようなmain.cをそれぞれのフォルダーいかにまとめてつくりたいです。

[code]

    int main(void)
    {
        
    }
    
[/code]

なので、コピー以外でもいいのですが、すべてターミナルから操作しないといけません。


CC BY-SA 4.0
2020-08-09T22:45:49.750
69397
2020-08-10T03:54:24.793
2020-08-10T03:07:41.147
36091
question
linux shell zsh
複数のディレクトリにファイルを一括コピーする方法。


更新された質問文を見てもいまいち意図を掴みきれていない可能性があるのですが、  
一応質問文の内容に基づいて回答します。(やりたいことと違うのであればコメントください。)

カレントディレクトリをdirectory(数字)のあるディレクトリにして、  
カレントディレクトリにあるmain.cをdirectory(数字)に一括コピーするには次のようにします。

[code]

    $ find . -type d -name directory\* | xargs -n1 cp -p main.c
    
[/code]

以下実行結果です。

[code]

    $ ls -lA
    合計 4
    -rw-rw-r-- 1 hidezzz hidezzz 25  8月 10 12:28 main.c
    
    $ seq 1 10 | xargs -I@ mkdir directory@
    $ ls -lA
    合計 44
    drwxrwxr-x 2 hidezzz hidezzz 4096  8月 10 12:33 directory1
    drwxrwxr-x 2 hidezzz hidezzz 4096  8月 10 12:33 directory10
    drwxrwxr-x 2 hidezzz hidezzz 4096  8月 10 12:33 directory2
    drwxrwxr-x 2 hidezzz hidezzz 4096  8月 10 12:33 directory3
    drwxrwxr-x 2 hidezzz hidezzz 4096  8月 10 12:33 directory4
    drwxrwxr-x 2 hidezzz hidezzz 4096  8月 10 12:33 directory5
    drwxrwxr-x 2 hidezzz hidezzz 4096  8月 10 12:33 directory6
    drwxrwxr-x 2 hidezzz hidezzz 4096  8月 10 12:33 directory7
    drwxrwxr-x 2 hidezzz hidezzz 4096  8月 10 12:33 directory8
    drwxrwxr-x 2 hidezzz hidezzz 4096  8月 10 12:33 directory9
    -rw-rw-r-- 1 hidezzz hidezzz   25  8月 10 12:28 main.c
    
    $ find . -type d -name directory\* | xargs -n1 cp -p main.c
    $ ls -lA directory*/*
    -rw-rw-r-- 1 hidezzz hidezzz 25  8月 10 12:28 directory1/main.c
    -rw-rw-r-- 1 hidezzz hidezzz 25  8月 10 12:28 directory10/main.c
    -rw-rw-r-- 1 hidezzz hidezzz 25  8月 10 12:28 directory2/main.c
    -rw-rw-r-- 1 hidezzz hidezzz 25  8月 10 12:28 directory3/main.c
    -rw-rw-r-- 1 hidezzz hidezzz 25  8月 10 12:28 directory4/main.c
    -rw-rw-r-- 1 hidezzz hidezzz 25  8月 10 12:28 directory5/main.c
    -rw-rw-r-- 1 hidezzz hidezzz 25  8月 10 12:28 directory6/main.c
    -rw-rw-r-- 1 hidezzz hidezzz 25  8月 10 12:28 directory7/main.c
    -rw-rw-r-- 1 hidezzz hidezzz 25  8月 10 12:28 directory8/main.c
    -rw-rw-r-- 1 hidezzz hidezzz 25  8月 10 12:28 directory9/main.c
    
[/code]


CC BY-SA 4.0
2020-08-10T03:46:00.050
69406
2020-08-10T03:54:24.793
2020-08-10T03:54:24.793
30745
30745
69397
answer