Grep

帶有 grep 和空格的 for 循環

  • January 7, 2020

嘗試同時使用 for 循環和 grep 時,我似乎對空格有點問題。空格很重要,因為例如,我想匹配“k117_19650”,而不是“k117_196509”。幫助將不勝感激!

for i in 'k117_19650 ' 'k117_460555 ';do
   grep -A1 $i final.contigs.fa >> gene.fa
done

您面臨的問題與您對 shell 變數的使用有關。特別是在使用包含“非標準”字元(例如空格)的變數時,請始終在使用它們時引用您的變數,請參見此處的討論:

在你的情況下:

grep -A1 -- "$i" final.contigs.fa >> gene.fa

應該可以解決問題(這裡還添加一個--以防止以$i開頭的值-)。

引用自:https://unix.stackexchange.com/questions/560817