0

csv ファイル内の各列を読み取ってから、csv の列のデータを使用してディレクトリを検索しようとしています。すべての行が読み取られたら、新しいディレクトリを作成し、ファイルをそのディレクトリにコピーして、最後にディレクトリを圧縮します。それを行う方法についてのアイデアはありますか?

CSV ファイルの例を次に示します。

add an example here...
4

2 に答える 2

1

すべての列を異なる方法で処理したいかどうかはわかりませんが、問題がなければ、ここにスクリプトのスクラッチがあります。

separator=";" # select separator type in your csv file
csv_file="`pwd`/file.csv" # path to your csv file
search_dir="`pwd`/searchdir" # directory, where we search for files, that are in csv files
copy_to_dir="`pwd`/newdir" #directory where to save copied files

mkdir $copy_to_dir #making copy dir

for i in `cat ${csv_file} | tr $separator '\n'` ; do # reading all the entries in csv file    
    find $search_dir -name "$i" | xargs -i cp {} $copy_to_dir
    # assuming, that all entries in csv are files to be found in a dir and copied     
done

zip -j -r copied_files.zip $copy_to_dir # zip found contents
rmdir $copy_to_dir # if you need just the zip file
于 2013-08-02T12:47:09.257 に答える