【发布时间】:2014-05-02 22:10:42
【问题描述】:
我有 70 个文件,看起来像 (file1 = complex.1.txt;... file69 = complex.69.txt... file70 = complex.70.txt)
ATOM 7066 O GLY A 784 49.130 43.743 -23.586 1.00 1.00 O
nnn
CONECT 337 403
END
ATOM 1 N ARG B 1 26.564 -17.621 9.457 1.00 1.00 N1+
ATOM 2 CA ARG B 1 26.733 -18.764 8.526 1.00 1.00 C
我想将所有 70 个文件分成两部分。第二个文件将在 END 之后开始。所有文件的拆分文件名将是 complex.1.txt_part1 和 complex.1.txt_part2 等等。 我尝试了awk解决方案
for ((i=1;i<=70;i++)); do awk '{file="complex.1.txt_part"++k;printf "%s%s",$0,RS > file;close(file)}' RS='END\n' complex.$i.txt; done
但它只给出 2 个文件的结果。有人可以纠正这个或发布其他好的解决方案。
【问题讨论】: