2

我正在尝试从文件夹中的所有 *.txt 文件中查找模式,这些文件是行中的数字列表。我想在包含 *.vcf 格式的一堆东西的文件中找到包含此类数字的行。不同的列表必须产生不同的输出文件,这些输出文件应该类似于 file.output。我已经尝试过了,但不起作用(对不起,我是新手)也许我可以使用 awk 或其他更花哨的东西?

    for file in ./*.txt
    do
    cat $file|while read LINE
    do
    grep "$LINE" ./AC-AN-table.v2.vcf > "$file.output"
    done
4

1 回答 1

0

我会这样做:

ls *.txt | perl -nle 'system("grep -f $_ ./AC-AN-table.v2.vcf > $_.output");

解释: perl -nle 循环输入,并在每个循环中执行指定的 perl 表达式。更多信息perlrun,但简而言之:

  -n : loop over input without autoprinting
  -l : modify line endings
  -e : expression to execute

-fgrep 选项提供了一个包含要搜索的模式列表的文件。每行 1 个图案。

于 2014-05-13T17:17:29.070 回答