特別な「コピーと名前の変更」ケース

特別な「コピーと名前の変更」ケース

何百ものファイルに深くネストされたフォルダ構造があります。各ファイルがある親フォルダの名前に基づいてファイルの名前を変更し、名前が変更されたファイルを定義済みの宛先フォルダに移動するdata.logスクリプトが必要です。data.log元のdata.log文書は元の場所に残る必要があります。

例:

元のファイルがそのまま残るようにファイル名を変更してから移動する必要が/opt/slm/data/system/amd-823723/data.logあります。amd-823723/opt/slm/output/data.log

ベストアンサー1

#!/bin/bash
OUTDIR=/opt/slm/output/

find /opt/slm/data -name data.log |
while read FILE; do

  OUTFILE="$(basename "$(dirname "$FILE")")"
  cp -p "$FILE" "$OUTDIR$OUTFILE"

done

おすすめ記事