我有一个名为playlist.pls的文本文件是动态创建的,在文本文件中我有数千行,如下所示:
File000001=/home/ubu32sc/Documents/octave/pre/wavefn_0001.wav
File000002=/home/ubu32sc/Documents/octave/pre/wavefn_0002.wav
File000003=/home/ubu32sc/Documents/octave/pre/wavefn_0003.wav
File000004=/home/ubu32sc/Documents/octave/pre/wavefn_0004.wav
File000005=/home/ubu32sc/Documents/octave/pre/wavefn_0005.wav
File000006=/home/ubu32sc/Documents/octave/pre/wavefn_0006.wav
File000007=/home/ubu32sc/Documents/octave/pre/wavefn_0007.wav
File000008=/home/ubu32sc/Documents/octave/pre/wavefn_0008.wav
File000009=/home/ubu32sc/Documents/octave/pre/wavefn_0009.wav
File000010=/home/ubu32sc/Documents/octave/pre/wavefn_0010.wav etc...
我需要将文本文件中的数据拆分成几个不同的文件。 例如:
The play1.pls file would contain:
File000001=/home/ubu32sc/Documents/octave/pre/wavefn_0001.wav
File000002=/home/ubu32sc/Documents/octave/pre/wavefn_0002.wav
File000003=/home/ubu32sc/Documents/octave/pre/wavefn_0003.wav
The play2.pls file would contain:
File000004=/home/ubu32sc/Documents/octave/pre/wavefn_0004.wav
File000005=/home/ubu32sc/Documents/octave/pre/wavefn_0005.wav
File000006=/home/ubu32sc/Documents/octave/pre/wavefn_0006.wav
The play3.pls file would contain:
File000007=/home/ubu32sc/Documents/octave/pre/wavefn_0007.wav
File000008=/home/ubu32sc/Documents/octave/pre/wavefn_0008.wav
File000009=/home/ubu32sc/Documents/octave/pre/wavefn_0009.wav
The play4.pls file would contain:
File000010=/home/ubu32sc/Documents/octave/pre/wavefn_0010.wav etc...
最好的方法是做什么我正在考虑使用octave / matlab来做这件事,但我认为这对于在一个包含10万行的文本文件上运行for循环会过度消耗和资源密集。 grep或perl是正确使用的东西,还是应该使用其他类型的程序?如果是这样我怎么能用呢?
我正在使用Ubuntu 32 10.04 6 gig ram 感谢
答案 0 :(得分:4)
正如你提到的那样,如果你只是想将文本文件拆分成多个文件,那么Matlab / Octave似乎是一种矫枉过正。
有一千种方法可以做到这一点(尤其是在unix系统上),所以请选择你的。
其中一种可能性是使用split
,如下所示:
split --lines=3 file prefix