3

私はbashでのコーディングに不慣れです。

すべてのサブディレクトリをループするものを作成しようとしています。各サブディレクトリ内で、ファイルをそのディレクトリにコピーする必要があります。

たとえば、次のディレクトリがある場合

/dir1/  
/dir2/  
/dir3/  
...  
...  
/dirX/

そしてファイルfileToCopy.txt

/dirX次に、すべてのファイルを開いてfileToCopy.txtそのディレクトリに配置する何かを実行したいと思います。私を残して:

/dir1/fileToCopy.txt
/dir2/fileToCopy.txt
/dir3/fileToCopy.txt
...
...
/dirX/fileToCopy.txt

これをループで実行したいので、このループを変更してさらにいくつかのステップを追加しようとします。最終的には.txtファイルは実際には.javaファイルであり、各ディレクトリにコピーしたいと考えています。それを(そこにある他のクラスとともに)コンパイルし、実行して出力を収集します。

ありがとう。

4

2 に答える 2

7
for i in dir1, dir2, dir3, .., dirN
    do
        cp /home/user1068470/fileToCopy.txt $i
    done

または、次のコードを使用することもできます。

for i in *
    do                 # Line breaks are important
        if [ -d $i ]   # Spaces are important
            then
                cp fileToCopy.txt $i
        fi
    done
于 2012-10-22T09:29:42.027 に答える
7

現在のディレクトリ(。)の下にあるすべてのディレクトリを検索し、ファイルをそれらにコピーします。

find . -type d -exec cp fileToCopy.txt '{}' \;
于 2012-10-22T09:32:26.333 に答える