Comando para combinar texto 100 linhas de cada vez

1

Eu tenho um arquivo com 7000 linhas. Preciso combinar as linhas 100 de uma vez para reduzi-las a 70 linhas, por exemplo,

line 1
line 2
line 3
...
line 7000

torna-se

line 1 line 2 line 3 line 4 ... line 100
line 101 line 102 line 103 line 104 ... line 200
...
line 6901 line 6902 line 6903 line 6904 ... line 7000

Eu sei que posso fazer isso usando código. Existe uma maneira de fazer isso na linha de comando?

    
por topher 27.04.2015 / 20:02

2 respostas

2

Experimente xargs:

xargs -L 100 < file

Teste:

for i in {1..7000}; do echo "line $i"; done | xargs -L 100
    
por Cyrus 27.04.2015 / 21:19
1

Eu faria algo assim:

split -l 100 --numeric-suffixes--additional-suffix=.tmp The_Big_File fragment_  
for f in fragment_[0-9][0-9].tmp ; do  
    tr "\n" " " <$f  
    echo  
    rm $f
done
    
por waltinator 27.04.2015 / 20:51