我有一组当前可用于一个文件的命令:
sed -n -e '/ABC/,/LOCUS/ p' mainfile.gbk | sed -e '$ d' >temp1
sed '/ source/,/ gene/{/ gene/!d}' temp1 >temp2
grep -v " gene" temp2 >temp3
grep -v " /locus_tag" temp3 >temp4
sed 's/product/locus_tag/g' temp4 >ABC.txt
echo "DONE" >>ABC.txt
rm temp*
(我知道,效率不是很高,但对我有用)。简而言之,它的作用是:它从 stringABC
到LOCUS
file输出行mainfile.gbk
,然后是几个sed
&grep
命令使文件可解析,最后将所有内容写入一个新文件ABC.txt
。
现在我想在字符串列表上迭代该命令,即
list.txt
ABC
DEF
GHI
这样每一行 fromlist.txt
被取出并分配给一个变量,然后运行命令,最后list.txt
输出一个文件中的每一行。
我想把命令放在一个while read line
循环中,但不知何故,变量的分配不起作用/它们没有传递给命令......