Bom dia!
Gostaria de uma ajuda em uma situação, eu tenho vários arquivos txt com mais de 5mil linhas eu gostaria de retirar as 5 primeiras linhas e a ultima linha destes arquivos, eu consegui fazer reescrevendo o arquivo com loop read, porém é muito demorado pela quantidade de linhas e arquivos que tenho para fazer isso.
Alguma ideia para me ajudar ?
Ajudar com deletar linhas de um Txt
Moderator: Gio
-
- Posts: 11
- Joined: 08 Dec 2020, 12:41
-
- Posts: 95
- Joined: 13 Sep 2021, 06:08
Re: Ajudar com deletar linhas de um Txt
Testei o código, o mesmo foi gerado usando ChatGPT
Code: Select all
; Itera sobre todos os arquivos txt no diretório especificado
Loop, Files, C:\Caminho\Para\Seus\Arquivos\*.txt
{
; Obtém o caminho completo do arquivo atual
arquivo := A_LoopFileLongPath
; Lê todo o conteúdo do arquivo para a variável 'conteudo'
FileRead, conteudo, %arquivo%
; Divide o conteúdo em linhas
linhas := StrSplit(conteudo, "`n")
; Remove as 5 primeiras linhas e a última linha
Loop, % linhas.MaxIndex()
{
if (A_Index > 5 and A_Index < linhas.MaxIndex())
novoConteudo .= linhas[A_Index] "`n"
}
; Salva o novo conteúdo de volta no arquivo
FileDelete, %arquivo%
FileAppend, %novoConteudo%, %arquivo%
; Limpa as variáveis para o próximo arquivo
novoConteudo := ""
}
MsgBox, Concluído!
Re: Ajudar com deletar linhas de um Txt
Olá: Como alternativa, eu excluiria as primeiras 5 linhas e a última linha com RegEx. Você lê o arquivo com FileRead, data, PathToYourFile e continua assim, por exemplo:
Em seguida, o é salvo no (novo) arquivo.
Code: Select all
data := "
(
01 Lorem ipsum dolor sit amet, consectetur adipiscing elit,
02 sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
03 Ut enim ad minim veniam, quis nostrud exercitation
04 ullamco laboris nisi ut aliquip ex ea commodo consequat.
05 Duis aute irure dolor in reprehenderit in voluptate velit
06 esse cillum dolore eu fugiat nulla pariatur.
07 Excepteur sint occaecat cupidatat non proident,
08 sunt in culpa qui officia deserunt mollit anim id est laborum.
09 Lorem ipsum dolor sit amet, consectetur adipiscing elit,
10 sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
11 Ut enim ad minim veniam, quis nostrud exercitation
12 ullamco laboris nisi ut aliquip ex ea commodo consequat.
13 Duis aute irure dolor in reprehenderit in voluptate velit
14 esse cillum dolore eu fugiat nulla pariatur.
15 Excepteur sint occaecat cupidatat non proident,
16 sunt in culpa qui officia deserunt mollit anim id est laborum.
)"
data := RegExReplace(data, "\A(.*?\R){5}(.*\R).*\R?", "$2")
MsgBox, % data
/* Output:
06 esse cillum dolore eu fugiat nulla pariatur.
07 Excepteur sint occaecat cupidatat non proident,
08 sunt in culpa qui officia deserunt mollit anim id est laborum.
09 Lorem ipsum dolor sit amet, consectetur adipiscing elit,
10 sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
11 Ut enim ad minim veniam, quis nostrud exercitation
12 ullamco laboris nisi ut aliquip ex ea commodo consequat.
13 Duis aute irure dolor in reprehenderit in voluptate velit
14 esse cillum dolore eu fugiat nulla pariatur.
15 Excepteur sint occaecat cupidatat non proident,
*/
Return to “Ajuda e Suporte Geral”
Who is online
Users browsing this forum: No registered users and 15 guests