日付スタンプ付きのアーカイブファイル

日付スタンプ付きのアーカイブファイル

/users/wahasanこのディレクトリから複数のファイルをに移動(保存)したいと思います/users/wahasan/old。アーカイブされたファイルは自動的に日付を更新する必要があります。

ファイル形式はCHKBOI.pos、、、CHKUTI.posなどCHKSBI.posです。ここCHK.posすべてのファイル名に共通です。

日付スタンプを使用してソースディレクトリからターゲットディレクトリにすべてのファイルを移動するには、シェルスクリプトが必要です。

答え1

純粋なBASHバージョン:

dir='/users/wahasan';stamp=$(date +%Y%m%d_%H%M%S); for file in $dir/CHK*.pos; do nn=${file/CHK/old/CHK}; nn=${nn/pos/pos_$stamp}; echo "$file  --->  $nn";mv $file $nn; done

一度試してみてください。効果があるでしょう。

緊急治療室:

dir='/users/wahasan';          ## path to work directory
stamp=$(date +%Y%m%d_%H%M%S);  ## date_time stamp
for file in $dir/CHK*.pos; do  ## getting list of all files to be moved
    nn=${file/CHK/old/CHK};    ## generating new absolute path [1] (adding '/old/')
    nn=${nn/pos/pos_$stamp};   ## generating new absolute path [2] (adding stamp)
    echo "$file  --->  $nn";   ## showing what will be moved to what (can be removed)
    mv $file $nn;              ## moving
done

関連情報