2017-07-06 6 views
0

タイトルが最高ではないかもしれませんが、私は謝ります。cp何百もの異なるディレクトリにファイル

私は各ディレクトリから2つのファイルをコピーし、これらの化合物をディレクトリ名だけを共有する別のディレクトリに配置しようとしています。明瞭化のために

;

/path/to/directory/all/variable_directories/ 

このディレクトリの中には複数のファイルがありますが、それぞれの変数ディレクトリに同じ名前の2つのファイルが必要です。

私は、コピー先がなる/の/ variable_directoryベース名に基づいて、個々の変数のディレクトリからこれらの2つのファイルをコピーして、変数のディレクトリにそれらを置くために

をしようとしています。それは、ディレクトリのベース名を共有するディレクトリを見つけるまで

/path/to/magical/shit/subset/set_with_variable_name/variable_directories/ 

一部だけ先ディレクトリの各/ set_with_variable_nameに位置している/

スクリプトは、各/ set_with_variable_name /を通過することができるようにする必要がありますこれらのファイルは元々cp'dされています

からcpまで、およそ200ファイルの合計が、適切にコピーおよびソートする必要があります。

私はそれを使用して、すべてのファイルをSAMEディレクトリにコピーできます。

#! /usr/bin/env bash 
for i in */; 
do cd $i; 
cp filename /path/to/destination/; 
cp other_filename /path/to/destination/; 
cd ..; 
done; 

私は完全に迷っている正しい宛先にファイルを並べ替えています。

私は任意の助けに感謝、私はあなたがそのような何かを必要とするようなスクリプト

答えて

0

このタイプの初心者が見えるんです。

# looping through all the variable directories 
for var_dir in <path1>/all/*; do 

    # creating the destination directory if not exists 
    mkdir -p "<path2>/set_with_variable_name/$(basename ${var_dir})" 

    # copying the first file 
    cp "${var_dir}/filename1" "<path2>/set_with_variable_name/$(basename ${var_dir})/filename1" 

    # and the second 
    cp "${var_dir}/filename2" "<path2>/set_with_variable_name/$(basename ${var_dir})/filename2" 
done 
関連する問題