Manipular arquivo usando shell script

1. Manipular arquivo usando shell script

Hugo
hugoscaper

(usa Debian)

Enviado em 13/08/2022 - 14:37h

Pessoal,

Boa tarde!

Estou precisando criar um shell script para verificar se existe um arquivo no diretório, se sim, armazenar o nome desse arquivo em uma váriável e depois manipular para realizar algumas cópias, alguém pode me ajudar, segue o código inicial que estou fazendo.

#!/bin/bash
ARQUIVO=SD


if [ $SD -e /tmp/ ]; then

echo '###############ARQUIVO EXITE NA PASTA###################

'echo -e '\n\n'echo
'########################################################'
echo '###############ACESSANDO O DIRETORIO /tmp###############'
echo '########################################################'
cd /
cd /tmp
cp -r /tmp/$SD /flex/dv2/seq/trm
echo '###################COPIANDO ARQUIVO#####################'
cd /
cd /flex/dv2/seq/trm
cp $SD teste.DAT
echo
'###############ARQUIVO COPIADO COM SUCESSO##############'                                                                 
read -p ''
echo '#########EXCLUINDO ARQUIVO(S).IPM DA PASTA /tmp#########' 
rm -r  /tmp/$SD
rm -r /flex/dv2/seq/trm/$SD
echo '#################ARQUIVO EXCLUÍDO#######################'

else

echo '####################################'echo '#ARQUIVO NÃO EXISTE E NÃO COPIADO  #'echo '####################################'echo -e '\n\n'


  


2. Re: Manipular arquivo usando shell script

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 13/08/2022 - 18:28h

Boa noite Hugo.
Para checar se um arquivo existe faça:
[ -e ublock.txt ] && echo existe || echo Nao Existe
Ou o "if " tradicional:
if [ -e ublock.txt ];then
echo existe
else
echo Nao Existe
fi
----------------------------------------------------------------------------------------------------------------
Nome do arquivo em uma variável:
arq="ublock.txt";
if [ -e "$arq" ];then
echo existe
else
echo Nao Existe
fi
----------------------------------------------------------------------------------------------------------------
Ou:
ls naoexiste.txt &>/dev/null && echo OK || echo Not
Not
----------------------------------------------------------------------------------------------------------------
if ls ublock.txt &>/dev/null;then
echo OK;
else
echo Not;
fi



______________________________________________________________________
Se te ajudei, retribua, é simples...
Após marcar o tópico como resolvido,
escolha a Melhor Resposta.

----------------------------------------------------------------------------------------------------------------
Att.: Marcelo Oliver
______________________________________________________________________



3. Re: Manipular arquivo usando shell script

Hugo
hugoscaper

(usa Debian)

Enviado em 13/08/2022 - 18:35h



Boa noite! marcelo.

Porém que o meu cenário é que esse arquivo ele vai mudar de tempo em tempo, tipo:

Hoje o arquivo está com a nomenclatura SD-XXXX amanhã ele estará com a nomenclatura SD-YYYY

será que é possivel varrer o diretório encontrando uma parte do texto do arquivo e na sequencia armazenar na váriavel?


4. Re: Manipular arquivo usando shell script

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 13/08/2022 - 18:41h

hugoscaper escreveu:



Boa noite! marcelo.

Porém que o meu cenário é que esse arquivo ele vai mudar de tempo em tempo, tipo:

Hoje o arquivo está com a nomenclatura SD-XXXX amanhã ele estará com a nomenclatura SD-YYYY

será que é possivel varrer o diretório encontrando uma parte do texto do arquivo e na sequencia armazenar na váriavel?

Qual a variação desse "XXXX"?
Número?
Letras?
Data?
----------------------------------------------------------------------------------------------------------------
use o ls:
if ls SD*;then
echo Encontrou
else
echo Nao encontrou
fi
------------------------------------------------------------------------------------------------------------------

______________________________________________________________________
Importante:
lynx --dump https://www.vivaolinux.com.br/termos-de-uso/ | sed -nr '/^[ ]+Se/,/dou.$/p'
______________________________________________________________________
Nota de esclarecimento:
O comando: ACIMA, faz parte da minha assinatura.
Att.: Marcelo Oliver
______________________________________________________________________







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts