导读
从另一个文本中读取需要的参数,不是命令行。将文件等行数拆分,最后余数行用tail保存到最后一个文件。
一、待拆分文件
cat test.txt
aaaaaaaaaaaaaaaa
bbbbbbbbbbbbbb
vvvvvvvvvvvvvvvvv
cccccccccccccccccc
ddddddddddddddddddd
eeeeeeeeeeeeeeeeeeeeeee
ffffffffffffffffffffff
gggggggggggggggggg
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
jjjjjjjjjjjjjjj
lllllllllllllllllll
kkkkkkkkkkkkkkkkkkkkk
iiiiiiiiiiiiiiiiiiiiiii
二、参数文件
cat parameter.py
#!/usr/bin/env python3
size = 3 # 每份3行
inpath = "./test.txt"
三、python3脚本
cat split_file_line.py
#!/usr/bin/env python3
import re,sys,os
import argparse
from parameter import size,inpath
with open(inpath) as infile:
infile = infile.readlines()
nrow = len(infile)
start = 0
end = size
for i in range(nrow//size):
#print(''.join(infile[start:end]))
batch_name = "batch_" + str(i+1) + ".path"
with open(batch_name, 'w') as o:
o.write(''.join(infile[start:end]))
start = start + size
end = end + size
os.system("tail -n " + str(nrow%size) + " " + inpath + " > batch_left.path")
四、运行
python3 split_file_line.py
for i in ./batch_*.path; do echo $i; cat $i; done;
./batch_1.path
aaaaaaaaaaaaaaaa
bbbbbbbbbbbbbb
vvvvvvvvvvvvvvvvv
./batch_2.path
cccccccccccccccccc
ddddddddddddddddddd
eeeeeeeeeeeeeeeeeeeeeee
./batch_3.path
ffffffffffffffffffffff
gggggggggggggggggg
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
./batch_4.path
jjjjjjjjjjjjjjj
lllllllllllllllllll
kkkkkkkkkkkkkkkkkkkkk
./batch_left.path
iiiiiiiiiiiiiiiiiiiiiii
网友评论