Basta remover o vim
do alias. Faça algo assim:
alias latest='ls -tr | tail -n 1'
Você pode usar qualquer programa para abrir os arquivos mais recentes:
emacs 'latest'
ls 'latest'
mv 'latest' ../
etc.
No entanto, isso irá quebrar se seus nomes de arquivos tiverem espaços ou caracteres estranhos, e é por isso que você nunca deve analisar ls
. Uma maneira melhor seria algo assim (adicione isso ao seu .bashrc
):
function latest(){
$1 "$(find . -type f -printf "%C@ %p\n" | sort | tail -n 1 | cut -d " " -f 2-)"
}
Esta função executará qualquer comando que você fornecer como argumento e transmitirá o resultado da chamada find
(o arquivo mais recente) para esse comando. Então, você pode fazer coisas como:
latest emacs
latest less
Se você precisar fazer coisas como mv $(latest) foo/
, tente fazer isso em vez disso:
function latest(){
A=(${@})
prog=$1;
lat=$(find . -type f -printf "%C@ %p\n" | sort | tail -n 1 | cut -d " " -f 2-)
if [ ! -z $2 ] ; then
args=${A[@]:1};
$prog "$lat" "${A[@]:1}"
else
$prog "$lat"
fi
}
Então, para copiar o arquivo mais recente para bar/
, você faria
latest cp bar
E você ainda pode fazer latest emacs
da mesma forma que antes.