Como faço para encontar um padrão em um arquivo txt e deletar as 5 linhas anteriores [RESOLVIDO]

1. Como faço para encontar um padrão em um arquivo txt e deletar as 5 linhas anteriores [RESOLVIDO]

zuziv Black Star
zuziv

(usa Ubuntu)

Enviado em 09/07/2020 - 16:32h

Olá pessoal do viva o linux, preciso da ajuda de vocês.
Sei que consigo deletar a linha que tem um padrão com
sed -i '/&dm=/d' links.txt 

Mas eu queria deletar essa linha e mais 5 linhas acima dela.
Seria possível ?



  


2. Re: Como faço para encontar um padrão em um arquivo txt e deletar as 5 linhas anteriores

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 09/07/2020 - 21:40h

zuziv escreveu:

Olá pessoal do viva o linux, preciso da ajuda de vocês.
Sei que consigo deletar a linha que tem um padrão com
sed -i '/&dm=/d' links.txt 

Mas eu queria deletar essa linha e mais 5 linhas acima dela.
Seria possível ?

Boa noite, segue sugestão:
grep -B5 '_10$' linhas.txt|xargs -i sed -i "/{}/d" linhas.txt 

o grep "casa" o padrão "_10" no fim da linha,
-B5, "pega as 5 linhas anteriores,
xargs -i sed ...... Deleta....


______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


3. Re: Como faço para encontar um padrão em um arquivo txt e deletar as 5 linhas anteriores [RESOLVIDO]

zuziv Black Star
zuziv

(usa Ubuntu)

Enviado em 10/07/2020 - 16:02h

msoliver escreveu:

zuziv escreveu:

Olá pessoal do viva o linux, preciso da ajuda de vocês.
Sei que consigo deletar a linha que tem um padrão com
sed -i '/&dm=/d' links.txt 

Mas eu queria deletar essa linha e mais 5 linhas acima dela.
Seria possível ?

Boa noite, segue sugestão:
grep -B5 '_10$' linhas.txt|xargs -i sed -i "/{}/d" linhas.txt 

o grep "casa" o padrão "_10" no fim da linha,
-B5, "pega as 5 linhas anteriores,
xargs -i sed ...... Deleta....


______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


Boa tarde
Consegue me ajudar ?
A parte de pegar as linhas com grep deu certo
zuziv@zuziv-PC:~/PythonScripts$ grep -B3 'baidu' links.txt
1920
1080
Jojo\'s Bizarre Adventure wallpaper
http://t9.baidu.com/it/u=23562170951347564116&fm=193">http://t9.baidu.com/it/u=23562170951347564116&fm=193
1920
1080
Jojo\'s Bizarre Adventure wallpaper
http://t8.baidu.com/it/u=6299926452754060370&fm=193">http://t8.baidu.com/it/u=6299926452754060370&fm=193
1956
1100
Jojo\'s Bizarre Adventure wallpaper
http://t8.baidu.com/it/u=37418753814053765820&fm=193
1920
1080
Jojo\'s Bizarre Adventure wallpaper
http://t7.baidu.com/it/u=158041092783560275&fm=193
1920
1080
Jojo\'s Bizarre Adventure wallpaper
http://t7.baidu.com/it/u=19026831761128967965&fm=193
1920
1080
Jojo\'s Bizarre Adventure wallpaper
http://t8.baidu.com/it/u=16851190863594362935&fm=193
1920
1080
Jojo\'s Bizarre Adventure wallpaper
http://t7.baidu.com/it/u=3651184993260999712&fm=193
--
1920
1080
Jojo\'s Bizarre Adventure wallpaper
http://t7.baidu.com/it/u=111296440987230874&fm=193
--
1920
1080
Jojo\'s Bizarre Adventure wallpaper
http://t8.baidu.com/it/u=19254964962639990482&fm=193
--
1760
1100
Jojo\'s Bizarre Adventure wallpaper
http://t8.baidu.com/it/u=16452094793051050905&fm=193
--
1581
1100
Jojo\'s Bizarre Adventure wallpaper
http://t9.baidu.com/it/u=4051832784870562874&fm=193
1920
1080
Jojo\'s Bizarre Adventure wallpaper
http://t9.baidu.com/it/u=29165869112923899650&fm=193
--
1920
1080
Jojo\'s Bizarre Adventure wallpaper
http://t9.baidu.com/it/u=2356217095
--
1920
1080
Jojo\'s Bizarre Adventure wallpaper
http://t8.baidu.com/it/u=629992645

mas quando ele passa para o sed ele desorganiza o arquivo inteiro e não consegue excluir as linhas
Alguma sugestão ?


4. Re: Como faço para encontar um padrão em um arquivo txt e deletar as 5 linhas anteriores [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 10/07/2020 - 21:11h


zuziv escreveu:

msoliver escreveu:

zuziv escreveu:

Olá pessoal do viva o linux, preciso da ajuda de vocês.
Sei que consigo deletar a linha que tem um padrão com
sed -i '/&dm=/d' links.txt 

Mas eu queria deletar essa linha e mais 5 linhas acima dela.
Seria possível ?

Boa noite, segue sugestão:
grep -B5 '_10$' linhas.txt|xargs -i sed -i "/{}/d" linhas.txt 

o grep "casa" o padrão "_10" no fim da linha,
-B5, "pega as 5 linhas anteriores,
xargs -i sed ...... Deleta....


______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


Boa tarde
Consegue me ajudar ?
A parte de pegar as linhas com grep deu certo
zuziv@zuziv-PC:~/PythonScripts$ grep -B3 'baidu' links.txt
1920
1080
Jojo\'s Bizarre Adventure wallpaper
http://t9.baidu.com/it/u=23562170951347564116&fm=193">http://t9.baidu.com/it/u=23562170951347564116&fm=193
1920
1080
Jojo\'s Bizarre Adventure wallpaper
http://t8.baidu.com/it/u=6299926452754060370&fm=193">http://t8.baidu.com/it/u=6299926452754060370&fm=193
1956
1100
Jojo\'s Bizarre Adventure wallpaper
http://t8.baidu.com/it/u=37418753814053765820&fm=193
1920
1080
Jojo\'s Bizarre Adventure wallpaper
http://t7.baidu.com/it/u=158041092783560275&fm=193
1920
1080
Jojo\'s Bizarre Adventure wallpaper
http://t7.baidu.com/it/u=19026831761128967965&fm=193
1920
1080
Jojo\'s Bizarre Adventure wallpaper
http://t8.baidu.com/it/u=16851190863594362935&fm=193
1920
1080
Jojo\'s Bizarre Adventure wallpaper
http://t7.baidu.com/it/u=3651184993260999712&fm=193
--
1920
1080
Jojo\'s Bizarre Adventure wallpaper
http://t7.baidu.com/it/u=111296440987230874&fm=193
--
1920
1080
Jojo\'s Bizarre Adventure wallpaper
http://t8.baidu.com/it/u=19254964962639990482&fm=193
--
1760
1100
Jojo\'s Bizarre Adventure wallpaper
http://t8.baidu.com/it/u=16452094793051050905&fm=193
--
1581
1100
Jojo\'s Bizarre Adventure wallpaper
http://t9.baidu.com/it/u=4051832784870562874&fm=193
1920
1080
Jojo\'s Bizarre Adventure wallpaper
http://t9.baidu.com/it/u=29165869112923899650&fm=193
--
1920
1080
Jojo\'s Bizarre Adventure wallpaper
http://t9.baidu.com/it/u=2356217095
--
1920
1080
Jojo\'s Bizarre Adventure wallpaper
http://t8.baidu.com/it/u=629992645

mas quando ele passa para o sed ele desorganiza o arquivo inteiro e não consegue excluir as linhas
Alguma sugestão ?


Se tem mais de uma ocorrência, o comando sugerido não funciona!
Deve ser feito em etapas, pegando somente uma ocorrência por vez!

______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


5. Re: Como faço para encontar um padrão em um arquivo txt e deletar as 5 linhas anteriores [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 10/07/2020 - 21:50h

Conseguiu?
Fiz um script.....
Se precisar, te passo...

______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


6. Re: Como faço para encontar um padrão em um arquivo txt e deletar as 5 linhas anteriores [RESOLVIDO]

zuziv Black Star
zuziv

(usa Ubuntu)

Enviado em 10/07/2020 - 22:15h

msoliver escreveu:

Conseguiu?
Fiz um script.....
Se precisar, te passo...

______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


Muito obrigado, mas eu consegui fazer um sistema no próprio script que pegava os links, mas obrigado aprendi um pouco mais sobre grep :)






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts