Use apenas sed
com um delimitador que não seja /
. Por exemplo:
sed 's|foo|bar|'
Mas sim, você também pode juntar os dois comandos awk:
awk -v iv="$i" -v var="$count" 'NR == iv{print $0 ":"var}'
Meu script usa um arquivo de entrada como este
user:tag:count
Ele pega o usuário, pesquisa em uma página e exibe o URL que aponta o usuário. Depois disso, o arquivo de entrada deve ser alterado para
user:tag:count:URL
O script é um loop while que inicia em i = line1 e termina na última linha. Portanto, a linha na qual o loop está trabalhando é armazenada em $ i e o URL que ele recebe é armazenado em $ url.
Normalmente eu faria isso com sed, mas eu tive problemas com isso se a variável continha "/". 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 correta, mas não ajuda a editar o arquivo de entrada da maneira que eu quero.
Qualquer maneira de mesclar os 2 awk's em um para que eu possa editar o arquivo?
Use apenas sed
com um delimitador que não seja /
. Por exemplo:
sed 's|foo|bar|'
Mas sim, você também pode juntar os dois comandos awk:
awk -v iv="$i" -v var="$count" 'NR == iv{print $0 ":"var}'