Remove o texto antes de determinada string, incluindo a string, usando o comando batch

1

Eu tenho um arquivo de texto com milhões de linhas. Eu quero remover todo o texto antes de uma string test: incluindo string. Também deseja remover o texto após o espaço.

Algum conteúdo do arquivo:

file1:test:src/draw/no/ind/erefe.c/gegegewg 1
filesdsd:test:src/draw/no/ind/reryeryrey.c/jhrtjtrj 1
fileskdk:sdsD:test:abc/disp/no/ind/ryretyrey.txt/Display::Restrict 20

Saída desejada:

src/draw/no/ind/erefe.c/gegegewg
src/draw/no/ind/reryeryrey.c/jhrtjtrj
abc/disp/no/ind/ryretyrey.txt/Display::Restrict

Eu tenho abaixo o código que remove o texto após / do arquivo e também a linha de ecos na linha de comando, pois tem echo .

for /f "tokens=1 delims=/" %a in (abc.txt) do (echo %a >> newfile.txt)

Eu quero modificar o código acima para obter a saída desejada acima mencionada. Mas sem imprimir linhas no cmd, pois leva muito tempo.

    
por Samadhan Gaikwad 29.09.2017 / 07:28

1 resposta

0

Existe o seu comando:

cut -d " " -f1 file.txt | sed -e '1,$s/^\(.*\):test:\(.*\)$//' > new_file.txt

ou se você puder modificar o arquivo original:

sed -i '1,$s/^\(.*\):test:\(.*\) .*$//' file.txt

Atualização: não percebi que a pergunta era para a plataforma Windows. No entanto, há também sed para o Windows, que pode ser instalado de várias maneiras:

link

    
por 29.09.2017 / 13:36