【发布时间】:2015-04-17 21:04:04
【问题描述】:
我有一个类似“file1.stream_2015-02-17.mp4”的文件列表,我一直在使用它删除
#!/bin/bash
CONTENT_DIR=/my_files/recordings
find $CONTENT_DIR -mtime +1 -regextype posix-extended -regex '.*[.](mp4|tmp)$' -delete
到目前为止,这对我来说一直很好,但现在我试图在 1 天前删除所有带有 file1.stream 的文件,并在 7 天前删除所有带有 file2.stream 的文件
我一直在尝试这个,但我主要是不断地想出错误
#!/bin/bash
CONTENT_DIR=/my_files/recordings/*
for f in $CONTENT_DIR; do
if [[ -f ${f} =~ 'file1.stream_*' ]] then
find -mtime +7 ${f} -delete
else
find -mtime +1 ${f} -delete
fi
done
但我不断收到此错误
syntax error in conditional expression
syntax error near `=~'
` if [[ -f ${f} =~ 'file1.stream_*' ]] then'
我不确定错误是什么,我已经四处寻找几个小时试图找到语法错误。感谢您的帮助
【问题讨论】:
标签: bash if-statement for-loop syntax