A parte final parece ser fácil, apenas remova do 'hostname' (e um número) em:
$ a='+%_!^0r,zK"5÷fgf/Nametoextractanothernametoextracthostname1.1.1.12.1iwm876'
$ echo ${a%hostname[0-9]*}
+%_!^0r,zK"5÷fgf/Nametoextractanothernametoextract
Estou extraindo dados ASCII de pacotes de rede capturados por tcpdump
. Eu manipulei os dados para o ponto em que estou em uma única string e agora preciso cortá-la. O problema que a string remanescente tem o cabeçalho do pacote seguido pelos dados ascii.
Um exemplo de string é
+%_!^0r,zK"5÷fgf/Nametoextractanothernametoextracthostname1.1.1.12.1iwm876
Agora, os nomes a serem extraídos podem mudar e ser diferentes. O nome do host é a variável que estou usando uma constante. Eu quero adicionar um delimitador na frente do nome do host para que eu possa usar o corte para remover o lixo no final da seqüência de caracteres.
Um exemplo seria o resultado desejado
+%_!^0r,zK"5÷fgf/Nametoextractanothernametoextract:hostname1.1.1.12.1iwm876
Então eu posso usar o corte para obter esta saída:
Nametoextract anothernametoextract
Tags text-processing awk sed cut