Alteração de conteúdo de arquivos recursivamente [RESOLVIDO]

1. Alteração de conteúdo de arquivos recursivamente [RESOLVIDO]

Wemerson C. Guimarçaes
wemersonrv

(usa Ubuntu)

Enviado em 16/08/2018 - 15:41h

Boa tarde galera.

Tenho um arquivo chamado magna.php que se repete em muitos subdiretorios... Preciso localizar todos eles recursivamente e adicionar uma linha de texto no final do arquivo e renomear todos para magna2018.php.

Com o find eu listo os arquivos mas são muitos e não dá pra ficar entrando nos diretórios de um por um, editar o arquivo, adicionar o texto no final do arquivo e depois renomear. Vai levar uma eternidade.





  


2. Re: Alteração de conteúdo de arquivos recursivamente [RESOLVIDO]

Luís Fernando C. Cavalheiro
lcavalheiro

(usa Slackware)

Enviado em 16/08/2018 - 15:45h

wemersonrv escreveu:

Boa tarde galera.

Tenho um arquivo chamado magna.php que se repete em muitos subdiretorios... Preciso localizar todos eles recursivamente e adicionar uma linha de texto no final do arquivo e renomear todos para magna2018.php.

Com o find eu listo os arquivos mas são muitos e não dá pra ficar entrando nos diretórios de um por um, editar o arquivo, adicionar o texto no final do arquivo e depois renomear. Vai levar uma eternidade.




Isso você faz com o find mesmo. Lê a manpage do comando para aprender como.

--
Dino®
IRC: [email protected]
Vi veri universum vivus vici
Public GPG signature: 0x246A590B
Só Slackware é GNU/Linux e Patrick Volkerding é o seu Profeta
Mensagem do dia: Satã representa conhecimento sem limites e não auto-ilusão hipócrita. 


O Enigma do GNU/Linux
O Enigma do GNU/Linux sempre carregou consigo um mistério. Você deve aprender esse segredo, meu jovem. Você deve aprender sua disciplina. Pois em nada neste mundo você pode confiar. Não nas Debian-like, não nas RPM-based, não nas derivadas do Gentoo. Nisto [aponta para o cachimbo] você pode confiar.



3. Re: Alteração de conteúdo de arquivos recursivamente

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 16/08/2018 - 19:20h

wemersonrv escreveu:

Boa tarde galera.

Tenho um arquivo chamado magna.php que se repete em muitos subdiretorios... Preciso localizar todos eles recursivamente e adicionar uma linha de texto no final do arquivo e renomear todos para magna2018.php.

Com o find eu listo os arquivos mas são muitos e não dá pra ficar entrando nos diretórios de um por um, editar o arquivo, adicionar o texto no final do arquivo e depois renomear. Vai levar uma eternidade.

Boa tarde Wemerson.
Vamos lá:
Procura o arquivo em questão e inclui a linha no final.
find -type f -name "magna.php" -exec echo "echo #linha incluída# >>" {} \;|bash 


Renomeia
find -type f -name "magna.php" -exec rename 's/magna/magna_2018/' {} \; 

ou
for arq in $(find -type f -name "magna.php");do 
arqnew=${arq/\.php/_2018.php};
echo "Renomeando $arq Para $arqnew";
mv $arq $arqnew;done

Ou

find . -type f -name 'magna.php' -exec bash -c 'x="{}"; mv "$x" "${x/magna/magna_2018}"' \;

É Isso...
E não esqueça....
Ajude quem te ajuda! rsrsrsr

Att.:
Marcelo Oliver


4. Re: Alteração de conteúdo de arquivos recursivamente [RESOLVIDO]

Wemerson C. Guimarçaes
wemersonrv

(usa Ubuntu)

Enviado em 17/08/2018 - 09:55h

msoliver escreveu:

wemersonrv escreveu:

Boa tarde galera.

Tenho um arquivo chamado magna.php que se repete em muitos subdiretorios... Preciso localizar todos eles recursivamente e adicionar uma linha de texto no final do arquivo e renomear todos para magna2018.php.

Com o find eu listo os arquivos mas são muitos e não dá pra ficar entrando nos diretórios de um por um, editar o arquivo, adicionar o texto no final do arquivo e depois renomear. Vai levar uma eternidade.

Boa tarde Wemerson.
Vamos lá:
Procura o arquivo em questão e inclui a linha no final.
find -type f -name "magna.php" -exec echo "echo #linha incluída# >>" {} \;|bash 


Renomeia
find -type f -name "magna.php" -exec rename 's/magna/magna_2018/' {} \; 

ou
for arq in $(find -type f -name "magna.php");do 
arqnew=${arq/\.php/_2018.php};
echo "Renomeando $arq Para $arqnew";
mv $arq $arqnew;done

Ou

find . -type f -name 'magna.php' -exec bash -c 'x="{}"; mv "$x" "${x/magna/magna_2018}"' \;

É Isso...
E não esqueça....
Ajude quem te ajuda! rsrsrsr

Att.:
Marcelo Oliver


Valeu brother. Deu certinho!


5. Re: Alteração de conteúdo de arquivos recursivamente [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 17/08/2018 - 14:44h

wemersonrv escreveu:

msoliver escreveu:

wemersonrv escreveu:

Boa tarde galera.

Tenho um arquivo chamado magna.php que se repete em muitos subdiretorios... Preciso localizar todos eles recursivamente e adicionar uma linha de texto no final do arquivo e renomear todos para magna2018.php.

Com o find eu listo os arquivos mas são muitos e não dá pra ficar entrando nos diretórios de um por um, editar o arquivo, adicionar o texto no final do arquivo e depois renomear. Vai levar uma eternidade.

Boa tarde Wemerson.
Vamos lá:
Procura o arquivo em questão e inclui a linha no final.
find -type f -name "magna.php" -exec echo "echo #linha incluída# >>" {} \;|bash 


Renomeia
find -type f -name "magna.php" -exec rename 's/magna/magna_2018/' {} \; 

ou
for arq in $(find -type f -name "magna.php");do 
arqnew=${arq/\.php/_2018.php};
echo "Renomeando $arq Para $arqnew";
mv $arq $arqnew;done

Ou

find . -type f -name 'magna.php' -exec bash -c 'x="{}"; mv "$x" "${x/magna/magna_2018}"' \;

É Isso...
E não esqueça....
Ajude quem te ajuda! rsrsrsr

Att.:
Marcelo Oliver


Valeu brother. Deu certinho!


Ae brother, bom que deu certo.
Se não for pedir muito.....
Escolha a minha resposta como "A Melhor", dessa forma sou pontuado,
o que incentiva a continuar colaborando, compartilhando conhecimento...

Abç.
Marcelo Oliver