Eu preciso excluir de uma pasta todos os arquivos anteriores a um arquivo específico.
Executando o bash no CentOS 7.
Eu tenho uma solução para isso, mas acho que deve haver uma maneira mais elegante de fazê-lo:
reference_file=/my/reference/file
get_modify_time()
{
stat $1 | grep -Po "Modify: \K[0-9- :]*"
}
pit=$(get_modify_time $reference_file)
for f in /folder/0000* ; do [[ "$pit" > "$(get_modify_time $f)" ]] && rm $f ; done
bash
shell-script
centos
csny
fonte
fonte
-maxdepth 1
para manter a pesquisa não recursiva! -newer
significa "não mais novo", então "mais velho ou a mesma idade "; o arquivo em si será correspondido se estiver no caminhofind
, apenas algo a ser lembrado.! -name reference
(veja o terceiro marcador).comparar tempos de modificação de arquivo com
test
, usando-nt
(mais recente que a) e-ot
(acima de) operadores:fonte