以下を実行するbashスクリプトの例を探しています。
/tmp
フォルダの下にファイルを書いています。
xterm
プロンプトでこれを行うと、最近のファイルのls -ltr
リストが表示されます。たとえば、次のようになります。
abc_mytest.log
abc_runTimeFailure.scripted.log
myManager.log
mv
今日作成した最新の内容を/home/project/の下の新しいフォルダに移動したいと思います。
/tmp
今日作成したアイテムを次に移動したいです。/home/project/
コミュニティで共有できるすべてのケースは、私が車輪を再発明する前に時間を節約します。
ありがとう、エリック
答え1
そしてzsh
:
autoload age
mv /tmp/*(.e[age today]) /home/project/
(D
今日最後に修正された隠しファイルも移動するには、glob修飾子を追加してください。)
これは/tmp
、システムユーザーを含むシステム内のすべてのユーザーが使用する一時ディレクトリです。自分のものではない可能性のあるファイルを移動しようとすると、悪い考えのように聞こえます。そうしないと、システムはそれを許可しませんroot
。
自分が所有するファイルのみを考慮するには、U
glob修飾子を使用してください。次のファイルなど、名前が特定のパターンに一致するファイルのみを移動できます.log
。
mv /tmp/*.log(.Ue[age today]) /home/project/
答え2
man find mv
以下を読んで実行してください。
find /tmp -maxdepth 1 -type f -daystart -mtime 0 \
-exec mv -t /home/project/ {} +
未検証!echo mv
テストには潜在的に危険なものではなく使用する必要がありますmv
。