phoemur
(usa Debian)
Enviado em 29/01/2014 - 18:07h
Nessa hora a criatividade conta bastante...rs Olha as gambiarras:
Achando o arquivo mais recente:
find . -type f -maxdepth 1 -printf "%C@ %p\\n" | sort -r | awk 'NR==1 {print $2}'
copiando o arquivo mais recente para um destino:
find . -type f -maxdepth 1 -printf "%C@ %p\\n" | sort -r | awk 'NR==1 {print $2}' | xargs -i cp "{}" /home/destino
Utilizando o ls, arquivo mais recente:
ls -btw1 --color=never | while read LINE; do if test -f $LINE; then echo $LINE; break; fi; done
Utilizando ls + file descriptors e copiando o arquivo mais recente para o destino:
exec 3< <(ls -btw1 --color=never); while read LINE <&3; do if test -f $LINE; then cp "$LINE" /home/destino/; break; fi; done; exec 3<&-
O tamanho do comando é limitado pela sua criatividade...rs acho que todos esses devem funcionar.. Abraço
O problema com o comando ls é que ele também lista os diretórios e se você jogar o diretório pra um pipe com copy você vai copiar o diretório inteiro, então precisa de algum método pra filtrar, como eu utilizei nos exemplos...
O problema com o find é que ele acha pelo -ctime mas não ordena o resultado, então tem que jogar o resultado no comando sort pra pegar o mais recente...
Pelo menos eu faria assim se precisasse dos comandos...