
parte do meu código está abaixo:
output=$(cat databaselog | awk '{print $9,$1,$2,$6}' )
echo $output >> savedfile
A saída será algo assim, salva em um novo arquivo chamado savefile
name1 date1 id1 ip1 name2 date2 id2 ip2 name3 date3 id3 ip3
Mas eu quero que seja assim:
name1 date1 id1 ip1
name2 date2 id2 ip2
name3 date3 id3 ip3
Eu sei que é muito fácil, mas não consigo encontrar a maneira certa de fazer isso, por favor, ajude, obrigado!
Responder1
Você precisa colocar aspas duplas $output
como "$output"
quando faz eco. Caso contrário, a saída terá novas linhas e outros espaços em branco transformados em apenas espaços.
Também é uma boa prática colocar aspas duplas na substituição do comando. output="$(...)"
em vez de apenasoutput=$(...)
por exemplo
output="$( cat databaselog | awk '{print $9,$1,$2,$6}' )"
echo >> savedfile
echo "$output" >> savedfile
Mas seria melhor você apenas:
echo >> savedfile
awk '{print $9,$1,$2,$6}' databaselog >> savedfile