commando x script [RESOLVIDO]

1. commando x script [RESOLVIDO]

Marlon Costa
detentosdoeb

(usa Red Hat)

Enviado em 06/03/2014 - 08:40h

bom dia pessoal tudo bem?

estou com um problema que não consigo resolver. preciso executar um comando que no terminal aparece corretamente, mas quando coloco ele em script, o output é diferente, vejam:

quando executo o comando abaixo no terminal a saída é linha a linha.
/usr/bin/find / -xdev \( -nouser -o -nogroup \) -print

/var/spool/mail/teste
/opt/jdk1.7.0_51
/opt/jdk1.7.0_51/THIRDPARTYLICENSEREADME-JAVAFX.txt
/opt/jdk1.7.0_51/db
[...]

quando eu coloco ele em script, a saída está tudo em uma única linha.
#!/bin/sh
check_unowned=$(/usr/bin/find / -xdev \( -nouser -o -nogroup \) -print)
if [ "$check_unowned" != "" ];then
/bin/echo "======= New Event Recorded =======" >> split.log
/bin/echo $check_unowned >> split.log
/bin/echo "====================================" >> split.log
fi

como faço para corrigir isso? preciso executar um comando em cada uma das linhas, por exemplo um "while read linha do rm -f $linha" mas o output não está linha a linha!

vlw pessoal!


  


2. Re: commando x script [RESOLVIDO]

Alexandre
afteixeira

(usa openSUSE)

Enviado em 06/03/2014 - 10:07h

Porque não direciona a saida do find para o arquivo, ao inves de gravar numa variavel para depois jogar para o arquivo?


3. Re: commando x script [RESOLVIDO]

Marlon Costa
detentosdoeb

(usa Red Hat)

Enviado em 06/03/2014 - 10:11h

afteixeira escreveu:

Porque não direciona a saida do find para o arquivo, ao inves de gravar numa variavel para depois jogar para o arquivo?


Olá afteixeira

estou gravando a saida do find em uma variável para poder logar tudo em um único arquivo (esse é apenas um pedaço do arquivo) e também para rodar outro comando em cada uma das linhas.

basicamente preciso logar os registros e também ajustar quem for registrado no find.

abs!


4. Re: commando x script [RESOLVIDO]

Alexandre
afteixeira

(usa openSUSE)

Enviado em 06/03/2014 - 10:18h

Entendo..

Então, talvez um loop seja melhor solução, assim, alem de logar, você consegue tratar os arquivos que não tem "dono"

for file in `/usr/bin/find / -xdev \( -nouser -o -nogroup \)`; do
# TRATATIVAS_AQUI
echo $file >> ARQUIVO_DE_LOG
...
etc...
done


5. Re: commando x script [RESOLVIDO]

Marlon Costa
detentosdoeb

(usa Red Hat)

Enviado em 06/03/2014 - 10:22h

afteixeira escreveu:

Entendo..

Então, talvez um loop seja melhor solução, assim, alem de logar, você consegue tratar os arquivos que não tem "dono"

for file in `/usr/bin/find / -xdev \( -nouser -o -nogroup \)`; do
# TRATATIVAS_AQUI
echo $file >> ARQUIVO_DE_LOG
...
etc...
done


Opa! Obrigado pela dica afteixeira

Agora ficou 100% hehehe

Abs!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts