É por isso que você não usa utilitários de linha por linha para isso.
$ tr '\n' ' ' < input.txt > output.txt
Eu tenho um arquivo contendo um grande número de linhas, cada uma contendo um monte de números separados por espaços. Eu processo esses dados em um pipe de alguma forma e, em seguida, quero recolher as várias linhas em uma única linha de todos os números separados por espaços.
Existe um utilitário de linha de comando padrão que posso usar para fazer isso? Parece que a maioria dos utilitários de linha por linha não vai mexer com as novas linhas ...
Mesmo os utilitários de linha por linha podem remover todas as novas linhas.
sed:
sed ':a;N;$!ba;s/\n/ /g' file
awk:
awk '{printf $0" "}' file
Mas é muito melhor usar tr
, como escreveu @Ignacio Vazquez-Abrams.
canaliza a saída para xargs
#!/bin/sh -x
while
do
date > temp
ping cp1za >> temp
cat temp | xargs echo
done
Tue Dec 17 18:23:31 UTC 2013 CS V1R12: Pinging host CP1ZA.TMMNA.TMM.TOYOTA.C (150.45.12.22) Ping #1 response took 0.001 seconds.
Tags text-processing newlines