スクリプトを使用したフォルダのマージ

スクリプトを使用したフォルダのマージ

ファイルが互いに上書きされるように特定の順序でマージする必要がある417のフォルダパスのリストがあります。後でフォルダを変更するときにこれをやり直す必要があるかもしれませんので、手動では行いません。これを行うスクリプトを書く方法を学びたいです。

また、スクリプトがすべてを小文字に変換できる場合は良いでしょう。私がこれでしたのは、圧縮せずに圧縮した後、-LLで解凍するだけでした。しかし、もはやそれを行う必要がない場合は大丈夫でしょう。時間がかかったから。しばらく(17GB)。

リストはこれです

「/ソロ/」

「/ソロ/」

「/ソロ/」

(気になる方のためにmorrowind / openmwのいくつかのモードをマージしてみましょう。)

ベストアンサー1

次のように動作する必要があります。

while IFS= read -r dir
do
    cp -f "$dir"/* target
done < list

ファイルをコピーするディレクトリであるディレクトリのリストlistはどこにありますか?targetリストの後半に表示されるディレクトリ内のファイルは、リストの前半に表示されるディレクトリ内のファイルを上書きします。 cp -fコピープログラムに「強制上書き」オプションを指定します。これは次のことを前提としています。

  • ディレクトリ名には改行文字は含まれません。 (これにより、単純なテキストファイルにリストできなくなります。)
  • リストファイルには実際に引用符が含まれていません。
  • 各ディレクトリには(一般)ファイルのみがあり、サブディレクトリや特別な内容はありません。
  • 次に始まるファイル名はありません。.

おすすめ記事