Eu tenho um arquivo de texto no qual eu quero manipular o texto. Um exemplo de parte do arquivo está abaixo. Eu quero ler a primeira linha não recuada e inserir esse texto no início de todas as seguintes linhas recuadas abaixo. No entanto, como você pode ver na parte de exemplo (o arquivo tem 12k linhas de comprimento, com cada seção sendo de comprimento variável), eventualmente as linhas recuadas param, há uma linha em branco e uma nova string não recuada que eu gostaria inserido no início do próximo conjunto de linhas recuadas. O recuo, assim como o espaço em branco entre o texto e todas as guias atualmente, no entanto, poderiam ser facilmente substituídos em todo o documento por algo como "|".
Então ... exemplo de arquivo antes da modificação:
SOME_LINE_OF_TEXT
Interface Status Protocol Description
Vl1 up up
Gi0/1 admin down down
Gi0/2 admin down down
Gi0/3 admin down down
Gi0/4 admin down down
Gi0/5 admin down down
Gi0/6 admin down down
Gi0/7 admin down down
Gi0/8 admin down down
Gi0/9 admin down down
Gi0/10 admin down down
Gi0/11 admin down down
Gi0/12 admin down down
Gi0/13 admin down down
Gi0/14 admin down down
Gi0/15 admin down down
Gi0/16 admin down down
Gi0/17 admin down down
Gi0/18 admin down down
Gi0/19 admin down down
Gi0/20 admin down down
Gi0/21 admin down down
Gi0/22 admin down down
Gi0/23 admin down down
Gi0/24 admin down down
Gi0/25 admin down down
Gi0/26 admin down down
Gi0/27 admin down down
Gi0/28 up up Node Name
SOME_OTHER_DIFFERENT_LINE_OF_TEXT
Interface Status Protocol Description
Vl1 up up
Gi0/1 down down Noce Name
Gi0/2 admin down down
Gi0/3 admin down down
Gi0/4 admin down down
Gi0/5 admin down down
Gi0/6 admin down down
Gi0/7 admin down down
Gi0/8 admin down down
Gi0/9 admin down down
Gi0/10 admin down down
Gi0/11 admin down down
Gi0/12 admin down down
Gi0/13 admin down down
Gi0/14 admin down down
Gi0/15 admin down down
Gi0/16 admin down down
Gi0/17 admin down down
Gi0/18 admin down down
Gi0/19 admin down down
Gi0/20 admin down down
Gi0/21 admin down down
Gi0/22 admin down down
Gi0/23 up up Node Name
Gi0/24 up up Node Name
Gi0/25 admin down down
Gi0/26 admin down down
Gi0/27 admin down down
Gi0/28 up up Node Name
Resultado final desejado:
SOME_LINE_OF_TEXT
SOME_LINE_OF_TEXT Interface Status Protocol Description
SOME_LINE_OF_TEXT Vl1 up up
SOME_LINE_OF_TEXT Gi0/1 admin down down
SOME_LINE_OF_TEXT Gi0/2 admin down down
SOME_LINE_OF_TEXT Gi0/3 admin down down
SOME_LINE_OF_TEXT Gi0/4 admin down down
SOME_LINE_OF_TEXT Gi0/5 admin down down
SOME_LINE_OF_TEXT Gi0/6 admin down down
SOME_LINE_OF_TEXT Gi0/7 admin down down
SOME_LINE_OF_TEXT Gi0/8 admin down down
SOME_LINE_OF_TEXT Gi0/9 admin down down
SOME_LINE_OF_TEXT Gi0/10 admin down down
SOME_LINE_OF_TEXT Gi0/11 admin down down
SOME_LINE_OF_TEXT Gi0/12 admin down down
SOME_LINE_OF_TEXT Gi0/13 admin down down
SOME_LINE_OF_TEXT Gi0/14 admin down down
SOME_LINE_OF_TEXT Gi0/15 admin down down
SOME_LINE_OF_TEXT Gi0/16 admin down down
SOME_LINE_OF_TEXT Gi0/17 admin down down
SOME_LINE_OF_TEXT Gi0/18 admin down down
SOME_LINE_OF_TEXT Gi0/19 admin down down
SOME_LINE_OF_TEXT Gi0/20 admin down down
SOME_LINE_OF_TEXT Gi0/21 admin down down
SOME_LINE_OF_TEXT Gi0/22 admin down down
SOME_LINE_OF_TEXT Gi0/23 admin down down
SOME_LINE_OF_TEXT Gi0/24 admin down down
SOME_LINE_OF_TEXT Gi0/25 admin down down
SOME_LINE_OF_TEXT Gi0/26 admin down down
SOME_LINE_OF_TEXT Gi0/27 admin down down
SOME_LINE_OF_TEXT Gi0/28 up up Node Name
SOME_OTHER_DIFFERENT_LINE_OF_TEXT
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Interface Status Protocol Description
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Vl1 up up
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Gi0/1 down down Noce Name
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Gi0/2 admin down down
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Gi0/3 admin down down
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Gi0/4 admin down down
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Gi0/5 admin down down
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Gi0/6 admin down down
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Gi0/7 admin down down
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Gi0/8 admin down down
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Gi0/9 admin down down
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Gi0/10 admin down down
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Gi0/11 admin down down
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Gi0/12 admin down down
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Gi0/13 admin down down
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Gi0/14 admin down down
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Gi0/15 admin down down
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Gi0/16 admin down down
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Gi0/17 admin down down
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Gi0/18 admin down down
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Gi0/19 admin down down
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Gi0/20 admin down down
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Gi0/21 admin down down
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Gi0/22 admin down down
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Gi0/23 up up Node Name
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Gi0/24 up up Node Name
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Gi0/25 admin down down
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Gi0/26 admin down down
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Gi0/27 admin down down
SOME_OTHER_DIFFERENT_LINE_OF_TEXT Gi0/28 up up Node Name
No momento, estou fazendo uma pesquisa manual e substituo o pensamento Notepad ++, no entanto, com 12 mil linhas, o que levará mais tempo do que eu gostaria de gastar com isso.