我想打开一个标识符列表并在另一个文件中查找匹配项。为此,我使用 grep 作为每个脚本的系统函数。但我不确定我哪里出错了。你能帮我看看语法吗?感谢您的时间!
open F, "$ARGV[0]" or die;
while(<F>)
{
`grep -A1 "$_" CAM_PROJ_BATS.read.fa > $_.txt`;
}
如果您期待输出,您将看不到任何输出,因为您没有打印任何内容。添加打印语句以查看输出。(您可能不需要查看输出,但至少它会帮助您查看 grep 命令的错误)。
此外,输入文件的行末尾将有换行符。您可能不想将其传递给 grep。事实上,添加换行符甚至可能会打乱您在 shell 上的命令执行。用于chomp
删除换行符。
use strict;
use warnings;
open F, "$ARGV[0]" or die "Can't open file: $!";
while(<F>)
{
chomp;
print `grep -A1 "$_" CAM_PROJ_BATS.read.fa > $_.txt`;
}
(未测试,因为我没有 grep)。