Como imprimir e inserir uma variável no início do arquivo no Unix?

0
Length=$(cat Final.txt|wc -l)
echo $Length
sed -i '1 i\<records>$(echo $Length)</records>' Final.txt

Eu preciso adicionar a linha XXX onde XXX deve ser a variável que representa o no.of linhas.Eu tentei o código acima e outras combinações.Nenhum deles parece funcionar.

    
por M.Nehru 08.03.2018 / 10:17

2 respostas

0

Length=$(wc -l < Final.txt)
echo $Length
sed -i "1 i\<records>$Length</records>" Final.txt
    
por 08.03.2018 / 10:33
0
sed -i "1 i\<records>$(wc -l Final.txt < Final.txt)</records>" Final.txt
  1. Você não precisa de uma variável intermediária.

  2. Editar: por usuário kamaraj & por usuário comentado DonChrissti, removeu a afirmação de que você precisa do comando cut , ou alguma outra maneira de analisar o nome do arquivo que wc produz juntamente com o número de linhas. Um simples redirecionamento de E / S oculta isso de wc , portanto, sem saber qual arquivo está sendo processado, ele não tem nada para imprimir.

por 08.03.2018 / 11:09

Tags