在我的数据中可能存在以下格式(标注蓝色的为可能的异常情况):
ZINC000004912
ZINC00000815
Detected 4 CPUs
Reading input ... done.
Setting up the scoring function ... done.
Analyzing the binding site ... done.
Using random seed: 1651066026
Performing search ... done.
Refining results ... done.
mode | affinity | dist from best mode
| (kcal/mol) | rmsd l.b.| rmsd u.b.
-----+------------+----------+----------
1 -4.9 0.000 0.000
2 -4.9 1.539 3.409
3 -4.7 1.604 2.262
4 -4.7 4.307 6.589
5 -4.7 3.605 7.888
6 -4.6 4.302 6.830
7 -4.6 3.857 6.132
Writing output ... done.
=======================
ZINC000010923
Detected 4 CPUs
Reading input ...=============
ZINC00001090
Detected 4 CPUs
Reading input ... done.
Setting up the scoring function ... done.
Analyzing the binding site ... done.
Using random seed: 36769704
Performing search ... done.
Refining results ... done.
mode | affinity | dist from best mode
| (kcal/mol) | rmsd l.b.| rmsd u.b.
-----+------------+----------+----------
1 -4.7 0.000 0.000
2 -4.7 1.312 2.831
3 -4.3 4.337 8.042
4 -4.3 3.651 7.000
5 -4.2 2.042 3.683
6 -4.2 3.356 5.476
7 -4.0 2.521 6.504
Writing output ... done.
=======================
在这些情况下就会造成错行,根据您的建议在脚本中修改了一下(加入了蓝色区域),结果还是错位了:
cat results.txt|tr -d '\r'|uniq|sed -ne '/ZINC.*/p' -e '/ 1 /p'|awk 'NF==1{print $1 "\t"}NF==4{print $2}' |sed 'N;/ZINC.*/s/\n/\t/g'
| sed 's/ZINC$//g' > log
结果:
代码: 全选
ZINC000004912 ZINC00000815
-4.9 ZINC000010923
ZINC00001090 -4.7
文本格式都已用dos2unix转换。请指导一下,正在努力学习linux,这个代码比较急用。谢谢!