como colocar um arquivo de entrada em um arquivo de saída, adicionando uma linha em branco entre cada duas linhas do arquivo de entrada (espaçamento duplo)? [duplicado]

0

Sem o uso do SED, existe um script de shell para copiar o conteúdo de um arquivo de entrada para um arquivo de saída, adicionando uma linha em branco entre cada duas linhas do arquivo de entrada (espaçamento duplo)? Eu

    
por Rez 03.12.2016 / 19:48

2 respostas

0

IFS=""
while read -r LINE
do
  echo "$LINE"
  echo
done

Se incomoda você adicionar uma linha em branco após a última linha, pode-se fazer:

IFS=""
FIRST=y
while read -r LINE
do
  if [ "$FIRST" != "y" ]
  then
    echo
  fi
  FIRST=n
  echo "$LINE"
done
    
por 03.12.2016 / 19:55
0

Isso parece alcançar o que você procura.

Se NR (número da linha) for divisível por 2, marque uma nova linha no final. E depois imprima a linha.

$ awk 'NR%2==0{$0=$0"\n"}1' foo.txt
line1
line2

line3
line4

line5
$

Se for meramente uma linha em branco entre todas as linhas, use isso

$ awk '{print $0,"\n"}' foo.txt
line1

line2

line3

line4

line5

$
    
por 03.12.2016 / 20:21