一次合并 100 行文本的命令

一次合并 100 行文本的命令

我有一个包含 7000 行的文件。我需要每次合并 100 行,以将其缩减为 70 行,即

line 1
line 2
line 3
...
line 7000

变成

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

我知道我可以使用代码来实现这一点。有没有办法在命令行上做到这一点?

答案1

尝试 xargs:

xargs -L 100 < file

测试:

for i in {1..7000}; do echo "line $i"; done | xargs -L 100

答案2

我会做这样的事情:

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

相关内容