Adicionando um URL ao final de uma linha específica dentro de um arquivo

Adicionando um URL ao final de uma linha específica dentro de um arquivo

Meu script recebe um arquivo de entrada como este

user:tag:count

Ele pega o usuário, pesquisa em uma página e gera o URL que aponta para o usuário. Depois disso, o arquivo de entrada deve ser alterado para

user:tag:count:URL

O script é um loop while que começa em i=line1 e termina na última linha. Portanto, a linha em que o loop está trabalhando é armazenada em $i e a URL obtida é armazenada em $url.

Normalmente eu faria isso com sed, mas tive problemas com isso se a variável contivesse "/". Eu tentei com o awk:

    awk -v iv="$i" 'NR == iv' input | awk -v var="$count" '{print $0 ":"var}' 

Ele adiciona o URL na linha certa, mas é claro que não ajudará na edição do arquivo de entrada da maneira que desejo.

Alguma maneira de mesclar os 2 awk em um para que eu possa editar o arquivo?

Responder1

Basta usar sedcom um não /delimitador. Por exemplo:

sed 's|foo|bar|'

Mas sim, você também pode juntar os dois comandos do awk:

awk -v iv="$i" -v var="$count" 'NR == iv{print $0 ":"var}' 

informação relacionada