[DUVIDA URGENTE!] Excluir um "padrão" de texto [DUVIDA URGENTE!] [RESOLVIDO]

1. [DUVIDA URGENTE!] Excluir um "padrão" de texto [DUVIDA URGENTE!] [RESOLVIDO]

Pedersini
Pedersini

(usa Debian)

Enviado em 09/06/2020 - 16:33h

Boa noite senhores, eu preciso de ajuda por favor.

Baixei as legendas de um curso americano, e vou fazer a tradução para o PT-BR.

Mas as legendas vieram assim:


4

4

00:00:10,820 --> 00:00:13,630
is going to verify a candidates ability to have
5

5

00:00:13,630 --> 00:00:16,250
the knowledge and skills required to plan
6

6

00:00:16,250 --> 00:00:18,940
and scope an assessment, understand the legal
7

7

00:00:18,940 --> 00:00:22,040
and compliance requirements, perform vulnerability scanning
8

8

00:00:22,040 --> 00:00:25,740
and penetration testing, analyze data, and efficiently
9

9

00:00:25,740 --> 00:00:29,160
and effectively report and communicate those results.
10

10

00:00:29,160 --> 00:00:31,750
Basically, can you be a pen tester?
11

11

00:00:31,750 --> 00:00:35,040
Now, Pentest+ is not going to show that you're an expert
12

12


Ele fica com esse padrão: Dois numeros em cima, hora da legenda,texto, numero, espaço, numero, espaço, hora da legenda

Tem alguma forma através de shell scripit ou outra maneira de remover esse padrão? e deixar assim:

00:00:10,820  -->  00:00:13,630
is going to verify a candidates ability to have

00:00:13,630 --> 00:00:16,250
the knowledge and skills required to plan


Por favor, vou ser eternamente grato pelo conhecimento repassado.


  


2. Re: [DUVIDA URGENTE!] Excluir um

Matheus
pylm

(usa Gentoo)

Enviado em 09/06/2020 - 16:49h

Funcionou com teu trecho ali.



#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import sys

f = open(sys.argv[1], 'r')
new_f = open(f'{f.name} limpo.srt', 'a')

for line in f.readlines():
if len(line.strip()) > 2:
new_f.write(line)
new_f.close()


Use com


python3 script.py legendas.srt




3. Re: [DUVIDA URGENTE!] Excluir um "padrão" de texto [DUVIDA URGENTE!] [RESOLVIDO]

Pedersini
Pedersini

(usa Debian)

Enviado em 09/06/2020 - 17:10h

pylm escreveu:

Funcionou com teu trecho ali.



#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import sys

f = open(sys.argv[1], 'r')
new_f = open(f'{f.name} limpo.srt', 'a')

for line in f.readlines():
if len(line.strip()) > 2:
new_f.write(line)
new_f.close()


Use com


python3 script.py legendas.srt



Deu para remover os numeros, mt obrigado!!

Mas para a tradução ser reconhecida, ela precisa ter um espaçamento.

Exemplo:

00:00:00,630  -->  00:00:02,550
<v ->Planning and scoping.</v>

00:00:02,550 --> 00:00:06,010
Welcome to Domain 1, where we're going to focus on how you plan


com o script está saindo assim:

00:00:00,630  -->  00:00:02,550
<v ->Planning and scoping.</v>
00:00:02,550 --> 00:00:06,010
Welcome to Domain 1, where we're going to focus on how you plan


Como posso aprimorar o código para ter esse espaçamento?!


4. Re: [DUVIDA URGENTE!] Excluir um

Matheus
pylm

(usa Gentoo)

Enviado em 09/06/2020 - 17:16h

Pior que eu tava arrumando isso aí agora mesmo.


#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import sys

f = open(sys.argv[1], 'r')

# Cria novo arquivo com sufixo 'limpo' ao final do nome original
new_f = open(f'{f.name.replace(".srt", "")} limpo.srt', 'a')

for line in f.readlines():
# Se a linha tiver mais de 2 caracteres então mantém ela, ignora aquelas
# com números sozinhos
if len(line.strip()) > 2:
new_f.write(line)
# Se não for uma linha de timestamp então dá um espaço, para manter
# a formatação
if ':' not in line[:3]:
new_f.write('\n')

new_f.close()


Resultado:


00:00:10,820 --> 00:00:13,630
is going to verify a candidates ability to have

00:00:13,630 --> 00:00:16,250
the knowledge and skills required to plan

00:00:16,250 --> 00:00:18,940
and scope an assessment, understand the legal

00:00:18,940 --> 00:00:22,040
and compliance requirements, perform vulnerability scanning

00:00:22,040 --> 00:00:25,740
and penetration testing, analyze data, and efficiently

00:00:25,740 --> 00:00:29,160
and effectively report and communicate those results.00:00:29,160 --> 00:00:31,750
Basically, can you be a pen tester?

00:00:31,750 --> 00:00:35,040
Now, Pentest+ is not going to show that you're an expert



Aliás, que série/filme é?



5. Re: [DUVIDA URGENTE!] Excluir um "padrão" de texto [DUVIDA URGENTE!] [RESOLVIDO]

Pedersini
Pedersini

(usa Debian)

Enviado em 09/06/2020 - 17:59h

pylm escreveu:

Pior que eu tava arrumando isso aí agora mesmo.


#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import sys

f = open(sys.argv[1], 'r')

# Cria novo arquivo com sufixo 'limpo' ao final do nome original
new_f = open(f'{f.name.replace(".srt", "")} limpo.srt', 'a')

for line in f.readlines():
# Se a linha tiver mais de 2 caracteres então mantém ela, ignora aquelas
# com números sozinhos
if len(line.strip()) > 2:
new_f.write(line)
# Se não for uma linha de timestamp então dá um espaço, para manter
# a formatação
if ':' not in line[:3]:
new_f.write('\n')

new_f.close()


Resultado:


00:00:10,820 --> 00:00:13,630
is going to verify a candidates ability to have

00:00:13,630 --> 00:00:16,250
the knowledge and skills required to plan

00:00:16,250 --> 00:00:18,940
and scope an assessment, understand the legal

00:00:18,940 --> 00:00:22,040
and compliance requirements, perform vulnerability scanning

00:00:22,040 --> 00:00:25,740
and penetration testing, analyze data, and efficiently

00:00:25,740 --> 00:00:29,160
and effectively report and communicate those results.00:00:29,160 --> 00:00:31,750
Basically, can you be a pen tester?

00:00:31,750 --> 00:00:35,040
Now, Pentest+ is not going to show that you're an expert



Aliás, que série/filme é?


Agora sim mestre foi liso, obrigado.

É um curso da udemy que eu baixei "CompTIA Pentest+ Course & Practice Exam " em um site de cursos gringo, eles enviam junto com a legenda e eu pesquisando vi que tem como traduzir automaticamente as legendas.

Mas ela veio com esse pequeno "problema" .

Mas agora está zero irmão, Valeu.

Se quiser eu mando o link do site dos cursos gringos e o site das para as traduções.

Se não quiser me avise e dou como resolvido o tópico.

Obrigado!


6. Re: [DUVIDA URGENTE!] Excluir um

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 09/06/2020 - 19:06h

Dando meu pitaco

cat arquivo.txt | sed -i '/^$/d' | sed -i '/^[0-9]\{1,3\}$/d' | sed -i '/^[a-zA-Z]/ s/$/\n/' 


NOTA: Essa proposta é para excluir as linhas como no máximo 3 números, ou seja, até 999, se o arquivo tiver numeros maiores ajuste o caractere em '\{1,3\}'



------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------




7. Re: [DUVIDA URGENTE!] Excluir um

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 09/06/2020 - 19:09h

Pedersini escreveu:

Boa noite senhores, eu preciso de ajuda por favor.

Baixei as legendas de um curso americano, e vou fazer a tradução para o PT-BR.

Mas as legendas vieram assim:


4

4

00:00:10,820 --> 00:00:13,630
is going to verify a candidates ability to have
5

5

00:00:13,630 --> 00:00:16,250
the knowledge and skills required to plan
6

6

00:00:16,250 --> 00:00:18,940
and scope an assessment, understand the legal
7

7

00:00:18,940 --> 00:00:22,040
and compliance requirements, perform vulnerability scanning
8

8

00:00:22,040 --> 00:00:25,740
and penetration testing, analyze data, and efficiently
9

9

00:00:25,740 --> 00:00:29,160
and effectively report and communicate those results.
10

10

00:00:29,160 --> 00:00:31,750
Basically, can you be a pen tester?
11

11

00:00:31,750 --> 00:00:35,040
Now, Pentest+ is not going to show that you're an expert
12

12


Ele fica com esse padrão: Dois numeros em cima, hora da legenda,texto, numero, espaço, numero, espaço, hora da legenda

Tem alguma forma através de shell scripit ou outra maneira de remover esse padrão? e deixar assim:

00:00:10,820  -->  00:00:13,630
is going to verify a candidates ability to have

00:00:13,630 --> 00:00:16,250
the knowledge and skills required to plan


Por favor, vou ser eternamente grato pelo conhecimento repassado.

Boa noite Pedersini, segue sugestão com base no "texto" postado.
sed '/^[0-9]\+$/d' texto.txt |sed '/^$/{N;/^\n$/D;}'
Se não se importar com as linhas "vazias" consecutivas, é mais simples:
sed '/^[0-9]\+$/d' texto.txt


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


8. Re: [DUVIDA URGENTE!] Excluir um "padrão" de texto [DUVIDA URGENTE!] [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 09/06/2020 - 19:19h


Mauriciodez escreveu:

Dando meu pitaco

cat arquivo.txt | sed -i '/^$/d' | sed -i '/^[0-9]\{1,3\}$/d' | sed -i '/^[a-zA-Z]/ s/$/\n/' 


NOTA: Essa proposta é para excluir as linhas como no máximo 3 números, ou seja, até 999, se o arquivo tiver numeros maiores ajuste o caractere em '\{1,3\}'



------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------


Tá errado Mauricio.....
cat arquivo| sed -i ....
Não funciona.....


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


9. Re: [DUVIDA URGENTE!] Excluir um "padrão" de texto [DUVIDA URGENTE!] [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 09/06/2020 - 19:31h


msoliver escreveu:

Tá errado Mauricio.....
cat arquivo| sed -i ....
Não funciona.....


tem razão .. copiei o comando do terminal errado ... segue o que funciona
cat arquivo.txt | sed '/^$/d' | sed '/^[0-9]\{1,3\}$/d' | sed '/^[a-zA-Z]/ s/$/\n/' > arquivo2.txt 




------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------




10. Re: [DUVIDA URGENTE!] Excluir um "padrão" de texto [DUVIDA URGENTE!] [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 09/06/2020 - 19:58h


Mauriciodez escreveu:


msoliver escreveu:

Tá errado Mauricio.....
cat arquivo| sed -i ....
Não funciona.....


tem razão .. copiei o comando do terminal errado ... segue o que funciona
cat arquivo.txt | sed '/^$/d' | sed '/^[0-9]\{1,3\}$/d' | sed '/^[a-zA-Z]/ s/$/\n/' > arquivo2.txt 




------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------


Agora sim . . . . rsrsrsrsr
Não não entendo pq utilizam o cat arquivo| comando.....
cat arquivo.txt | sed -r '/^$|^[0-9]+$/d' | sed '/^[0-9]\{1,3\}$/d' | sed '/^[a-zA-Z]/ s/$/\n/' > arquivo2.txt
Mas tudo bem, liberdade de escolha..... kkkk
Simplificando:
sed -r '/^$|^[0-9]+$/d' texto.txt|sed 's/^[[:alpha:]].*/&\n/' > arquivo.txt 


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


11. Re: [DUVIDA URGENTE!] Excluir um "padrão" de texto [DUVIDA URGENTE!] [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 09/06/2020 - 20:11h


msoliver escreveu:
Não não entendo pq utilizam o cat arquivo| comando.....


as vezes uso por mania ... ou por vacilo ... veja bem ... eu poderia ter feito assim
sed '/^$\|^[0-9]\{1,3\}$/d' t.txt | sed '/^[a-zA-Z]/ s/$/\n/' > arquivo2.txt 


nesse caso eu fiz o comando extendido por vacilo mesmo !!!

da um desconto, sou amador !!!

Abçs

------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------




12. Re: [DUVIDA URGENTE!] Excluir um "padrão" de texto [DUVIDA URGENTE!] [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 09/06/2020 - 20:23h


Mauriciodez escreveu:


msoliver escreveu:
Não não entendo pq utilizam o cat arquivo| comando.....


as vezes uso por mania ... ou por vacilo ... veja bem ... eu poderia ter feito assim
sed '/^$\|^[0-9]\{1,3\}$/d' t.txt | sed '/^[a-zA-Z]/ s/$/\n/' > arquivo2.txt 


nesse caso eu fiz o comando extendido por vacilo mesmo !!!

da um desconto, sou amador !!!

Abçs

------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------


Beleza Mauricio......
Amador nada, já está aqui no Fórum a muito tempo..... Rsrsrsrsrs
Mas é sério, vejo scrips aos montes com o cat arquivo|comando.....


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



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts