Unix查找-exec show"星期几"文件已修改

时间:2014-06-04 21:43:17

标签: unix find tcsh

使用tcsh

我希望能够找到文件并删除它们,例如它们是在星期五创建的。

到目前为止,我有以下内容,但我得到了#34;非法变量名。"。

find previous/*/fmpsw/ -name "Daily_*" -exec date -r $(stat -f %m '{}') +%A \;

有什么想法吗?

谢谢

1 个答案:

答案 0 :(得分:1)

<强> 1。找到文件。

这是一个可能的解决方案

find previous/*/fmpsw/ -name "Daily_*" -exec tcsh -c 'date -r `stat -f %m {}` +%A' \;

{}实际传递到由

生成的子shell之前,find需要替换为`stat -f %m {}`
find previous/*/fmpsw/ -name "Daily_*" -type f -exec tcsh -c '  \
    date -r `stat -c %n {}` +%A | grep Friday > /dev/null;      \
    test $? -eq 0 && rm -f {}                                   \
' \;

<强> 2。删除文件。

现在我们想要删除文件(例如,星期五创建的文件)。这里的建设更为复杂:

grep

此处,我们使用{{1}}根据所选的星期几进行过滤。