在bash脚本中将两个扩展文件用于循环的最佳方法是什么?

时间:2015-03-06 18:44:08

标签: bash sh

你怎么能一次处理两个不同扩展名的文件。更重要的是,file.fa之类的文件与file.qv有关,需要同时处理。

问题:假设您不知道文件名(basename)和文件数(可能少于几百个),我们知道这两个文件的文件扩展名。

我尝试过:

for i in `ls -1 -v $input_reads_dir/reads/*.csfasta $input_reads_dir/reads/*.qual` ;do
    job -o /out{i} {i}.fa {i}.qv
done

问题:

  1. 它不起作用
  2. 我担心file1.csfasta file2.qual可能误导{{1}}这是不正确的,或者我不应该害怕。

1 个答案:

答案 0 :(得分:3)

检查相应的文件是否存在。

for f in *.csfasta
do
  if [ -f "${f%.csfasta}.qual" ]
  then
    dosomething "$f" "${f%.csfasta}.qual"
  fi
done