スクリプトを使用して古いバージョンのファイルを別のフォルダに移動する[閉じる]

スクリプトを使用して古いバージョンのファイルを別のフォルダに移動する[閉じる]

私のcmdスクリプトが私のフォルダに移動し、フォルダから古いバージョンのpdf文書を見つけて、Old Versionsという別のフォルダに移動する方法を見つけたいと思います。

私が経験している問題は、ファイル名がバージョンごとに変更されることです。 IE DE-321-DLS-R04.pdfがDE-321-DLS-R05.pdfに変更されました。

どこから始めるべきかわかりません。日付を使用しているがファイル名の異なるスクリプトを見たことがあります。

助けてください。

ベストアンサー1

たぶん、次のようなものがあります。

find . -name 'DE-321-DLS-R*.pdf' | sort -r | sed '1 d' | xargs mv -t "older versions"

説明する:

  • find . -name 'DE-321-DLS-R*.pdf'を使用して現在のディレクトリを一覧表示しますDE-321-DLS-R

  • sort -rファイルリストの並べ替えキャンセル注文する。

  • sed '1 d'最初のラインを除くすべての入力ラインを出力します。

  • xargs mv -t "older versions"mvsedのコマンドの出力を引数として呼び出し、mvすべての引数をディレクトリに移動するように指示されましたolder versions

例:

$ ls -1
DE-321-DLS-R00.pdf
DE-321-DLS-R01.pdf
DE-321-DLS-R02.pdf
DE-321-DLS-R03.pdf
DE-321-DLS-R04.pdf
DE-321-DLS-R05.pdf
$ mkdir "older versions"
$ find . -name 'DE-321-DLS-R*.pdf' | sort -r | sed '1 d' |
xargs mv -t "older versions"
$ ls -1
DE-321-DLS-R05.pdf
older versions
$ ls -1 "older versions"
DE-321-DLS-R00.pdf
DE-321-DLS-R01.pdf
DE-321-DLS-R02.pdf
DE-321-DLS-R03.pdf
DE-321-DLS-R04.pdf

おすすめ記事