A sintaxe -NUMERO não é mais um padrão POSIX. Foi considerada obsoleta (faz
anos na real :D).
Em breve ela deixará de funcionar e será obrigatório o uso do -n.
Mais info nessa thread:
http://www.mail-archive.com/[EMAIL PROTECTED]/msg00711.html
PS: Mesmo sem o -n acontece de não aparecer o arqui
use o tail assim:
ls -t | tail -1
# ou seja sem o 'n' na frente
--- Em shell-script@yahoogrupos.com.br, "Flavio Junior" <[EMAIL PROTECTED]>
escreveu
>
> E olha só..
> nem era minha intenção mas percebam que o arquivo não aparece no
tail -n1,
> tive que usar tail -n2 para que aparecesse...
E olha só..
nem era minha intenção mas percebam que o arquivo não aparece no tail -n1,
tive que usar tail -n2 para que aparecesse...
Mais um motivo (que esse não sei explicar agora) pra usar o head.
--
Flávio do Carmo Júnior aka waKKu
2008/10/31 Flavio Junior <[EMAIL PROTECTED]>
> Mais 2cc...
Mais 2cc...
Eu faria ls -tr | head -n1
Veja que o tail vai ler tudo e só te mostrar a primeira linha, o -r vai
inverter a ordem de data do ls e o head só vai ler a primeira linha e te
exibir ela e sair.
penelope:/etc# time ls -t | tail -n1
real0m0.023s
user0m0.000s
sys 0m0.004s
pene
duh!
Tá certo, Paulo. Rolou um momento Homer Simpson mesmo.
oldest=$(ls -t|tail 1)
Valeu pela correção. ;)
[]'s
Eri
2008/10/31 Paulo Silvestre Schmitt <[EMAIL PROTECTED]>:
> Não entendi pra que usar a opção -l e depois cortar tudo.Assim funciona e é
> mais simples:
>
> ls -t | tail -1
>
gt; ,
> > "Wagner Brasileiro Cardoso"
> > > <[EMAIL PROTECTED]> escreveu
> > >> Simples, só começar a contar os campos de trás para frente.
> > >>
> > >> Wagner Brasileiro
> > >> -Mensagem original-
> > >>
ples, só começar a contar os campos de trás para frente.
> >>
> >> Wagner Brasileiro
> >> -Mensagem original-----
> >> De: shell-script@yahoogrupos.com.br
> > [mailto:shell-script@yahoogrupos.com.br]Em
> nome de Humberto Cruz
> >> Enviada em:
Wagner Brasileiro
>> -Mensagem original-
>> De: shell-script@yahoogrupos.com.br
> [mailto:[EMAIL PROTECTED] nome de Humberto Cruz
>> Enviada em: quinta-feira, 30 de outubro de 2008 09:36
>> Para: shell-script@yahoogrupos.com.br
>> Assunto: Re: [shell-
oldest=$(ls -lt|tail -1|awk '{print $NF}')
[]'s
Eri
2008/10/30 Eduardo <[EMAIL PROTECTED]>:
> Eri,
>
> Acho que me expressei mal.
>
> oldest=`minha duvida mora aqui`
>
> rm $oldest
>
> O que colocar no comando para que sempre seja o arquivo mais antigo?
>
>
> 2008/10/30 Eri Ramos Bastos <[EMAIL P
que tal isso:
oldest=`ls -lt | cut -c59- | tail -n 1`
Deve ter um jeito mais bonito de isolar só o ultimo nome de arquivo,
no meu unix aqui (HP-UX) nao posso usar fields direto no cut, teria
que determinar o delimitador.
user **(146)> ls -l
total 0
-rw-r--r-- 1 usergroup0 Oct
Eri,
Acho que me expressei mal.
oldest=`minha duvida mora aqui`
rm $oldest
O que colocar no comando para que sempre seja o arquivo mais antigo?
2008/10/30 Eri Ramos Bastos <[EMAIL PROTECTED]>
> $ touch velho; sleep 1m; touch novo
> $ ls -ltr
> total 0
> -rw-r--r-- 1 ebastos ebastos 0 2008-
o de 2008 09:36
> Para: shell-script@yahoogrupos.com.br
> Assunto: Re: [shell-script] Apagar arquivo mais antigo
>
>
> ls -t1|xargs|cut -f2 -d" "|xargs rm
>
> mas se o nome do arquivo tiver espaço tem q dar uma mexida no codigo
> pra funcionar, eh q
Usa o find
find . -name *.* -mtime +20 -exec rm -f { } ;
essa linha apaga os arquivo com mais de 20 dias
--- Em qui, 30/10/08, Eduardo <[EMAIL PROTECTED]> escreveu:
De: Eduardo <[EMAIL PROTECTED]>
Assunto: [shell-script] Apagar arquivo mais antigo
Para: shell-script@yahoogrupos
Assunto: Re: [shell-script] Apagar arquivo mais antigo
ls -t1|xargs|cut -f2 -d" "|xargs rm
mas se o nome do arquivo tiver espaço tem q dar uma mexida no codigo
pra funcionar, eh q agora n to com mt tempo.
[]s
Humberto
2008/10/30 Eri Ramos Bastos <[EMAIL PROTECTED]>:
ls -t1|xargs|cut -f2 -d" "|xargs rm
mas se o nome do arquivo tiver espaço tem q dar uma mexida no codigo
pra funcionar, eh q agora n to com mt tempo.
[]s
Humberto
2008/10/30 Eri Ramos Bastos <[EMAIL PROTECTED]>:
> $ touch velho; sleep 1m; touch novo
> $ ls -ltr
> total 0
> -rw-r--r-- 1 ebastos e
$ touch velho; sleep 1m; touch novo
$ ls -ltr
total 0
-rw-r--r-- 1 ebastos ebastos 0 2008-10-30 09:26 velho
-rw-r--r-- 1 ebastos ebastos 0 2008-10-30 09:27 novo
$ touch mais_novo
$ ls -ltr
total 0
-rw-r--r-- 1 ebastos ebastos 0 2008-10-30 09:26 velho
-rw-r--r-- 1 ebastos ebastos 0 2008-10-30 09:27
Tenho um diretório que "normalmente" possui 2 arquivos.
Teria que apagar o mais antigo. Se só existir 1, então, não posso apagar
nenhum.
Verificar se o arquivo existe é facil, mas como descobrir a "idade" dele?
Obrigado
[As partes desta mensagem que não continham texto foram removidas]
Apenas um comentário.
Boa parte dos programas *nix utilizam variações de uma biblioteca
chamada getopts para pegar as opções de linha de comando. É esta que
permite fazer coisas do tipo
ls -la
e o ls 'entende' que tu estás passando as opções -l e -a, sem falar
que a ordem onde aparecem nem sempr
$rm -- -fire.gmb
-- dois traços seguidos
[]s
Carlos Ferreira
Em 08/11/07, gleissonmb <[EMAIL PROTECTED]> escreveu:
>
>
> Segue exemplo:
>
> # rm -rf -fire.gmb
> rm: opção inválida -- e
> Tente `rm --help' para mais informação.
>
> Como apagar um arquivo com um "-" (menos) como primeiro caracter?
rm -rf ./-fire.gmb
Inté
On Nov 8, 2007 9:15 AM, gleissonmb <[EMAIL PROTECTED]> wrote:
>
> Segue exemplo:
>
> # rm -rf -fire.gmb
> rm: opção inválida -- e
> Tente `rm --help' para mais informação.
>
> Como apagar um arquivo com um "-" (menos) como primeiro caracter?
>
>
>
--
"Os erros podem
Segue exemplo:
# rm -rf -fire.gmb
rm: opção inválida -- e
Tente `rm --help' para mais informação.
Como apagar um arquivo com um "-" (menos) como primeiro caracter?
21 matches
Mail list logo