Qual será uma maneira "elegante" de uma linha para anexar uma única linha de dados no final de um arquivo, com herestring, se esses dados exatos ainda não estiverem nesse arquivo?
Este é o meu padrão de acréscimo de herestring:
cat >> /var/www/html/myFile <<< "myOutput"
Supondo que você queira que "myOutput" seja uma linha completa na última linha do arquivo:
s="myOutput"
Defina o padrão para corresponder,sed
use sed$ {…}' file
Na última linha do arquivo/^'"$s"'$/b
Combine o padrão como uma linha inteira e desvie para o final, se houver correspondência.s/$/\n'"$s"'/
Se não houver correspondência, acrescente o padrão na linha final.Se o arquivo já contiver os dados "myOutput" em algum lugar diferente da última linha, isso adicionará outra cópia no final do arquivo.
No script abaixo, a última linha completa será verificada se a variável i está presente ou não, caso contrário, ela insere a variável i na última linha do arquivo.
Como testado funcionou bem