Bash脚本 - 以递归方式复制目录中文件的最新版本

Tom*_*m S 1 unix bash

下面,我试图找到可能在多个目录中的文件的最新版本.

示例目录:

~inventory/emails/2012/06/InventoryFeed-Activev2.csv    2012/06/05
~inventory/emails/2012/06/InventoryFeed-Activev1.csv    2012/06/03
~inventory/emails/2012/06/InventoryFeed-Activev.csv     2012/06/01
Run Code Online (Sandbox Code Playgroud)

继承人bash脚本:

#!/bin/bash

FILE = $(find ~/inventory/emails/ -name INVENTORYFEED-Active\*.csv | sort -n | tail -1)
#echo $FILE #For Testing

cp $FILE ~/inventory/Feed-active.csv;
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

./inventory.sh: line 5: FILE: command not found
Run Code Online (Sandbox Code Playgroud)

脚本应该像上面尝试的那样复制最新的文件.

两个问题:

首先,这是实现我想要的最佳方法吗?其次,上面的错误是什么?

Spe*_*bun 6

它看起来不错,但你在=标志周围有空格.这不行.尝试:

#!/bin/bash

FILE=$(find ~/inventory/emails/ -name INVENTORYFEED-Active\*.csv | sort -n | tail -1)
#echo $FILE #For Testing

cp $FILE ~/inventory/Feed-active.csv;
Run Code Online (Sandbox Code Playgroud)