【发布时间】:2015-10-24 19:57:28
【问题描述】:
我有一个 file.txt 像:
AAAAAA
AAAAAB
AAAAAC
AAAAAD
...
我想一次将一行用于另一个程序。我的脚本正在使用 awk,它几乎完成了,但仍然无法正常工作。任何人都可以帮忙吗?谢谢!
while read file.txt
line=`awk '{ print $0 ; next}' ../file.txt`
echo 'for aa in "$line": cmd._alt(string.lower(aa)) ; save $line.pdb' > script.pdb
do
pymol script.pdb
done
脚本应该单独读取 file.txt 的每一行以使用 'for aa in "$line" 中的行: cmd._alt(string.lower(aa)) ;为 pymol 保存 $line.pdb' 脚本。
所以预期的输出应该是一个包含所有文件的文件夹:
AAAAAA.pdb AAAAAB.pdb AAAAAC.pdb
【问题讨论】:
-
你想对显示的输入数据做什么?
-
这种循环没有多大意义。请提供更多上下文
-
我想.....这是你想做的吗?
sed 's/.*/for aa in "&": cmd._alt(string.lower(aa)) ; save &.pdb/g' file.txt -
在没有程序输出的情况下很难发现问题,但请尝试从您的 awk 脚本中删除
next语句。 -
每一行都是来自蛋白质的序列,我想用 pymol 的命令通过 pymol 生成:for aa in "&": cmd._alt(string.lower(aa)) ;保存 &.pdb 这将为每个单独生成一个 pdb 文件。