这可能是一个简单的问题,但我对perl命令并不熟悉。我想将剪切命令的结果传递给perl命令。
cut -f 1 file | perl -ne '$on=(/^>matching_pattern/) if (/^>/); print $_ if $on;' multiple_fasta_file > results.txt
命令说明
Multiple_fasta_sequence:
> LCL | NC_017656.1_gene_2722
ACTCCCCGTGCGCGCCCGGCCCGTAGCGTCCTCGTCGCCGCCCCTCGTCTCGCAGCCGCAGCCCGCGTGGACGCTCTCGCCTGAGCGCCGCGGACTAGCCCGGGTGGCC
> LCL | NC_017656.1_gene_2723
CAGTCCGGCAGCGCCGGGGTTAAGCGGCCCAAGTAAACGTAGCGCAGCGATCGGCGCCGGAGATTCGCGAACCCGACACTCCGCGCCGCCCGCCGGCCAGGACCCGCGGCGCGATCGCGGCGCCGCGCTACAGCCAGCCTCACTGGCGCGCGGGCGAGCGCACGGGCGCTC
> LCL | NC_017656.1_gene_2724
CACGACAGGCCCGCTGAGGCTTGTGCCAGACCTTGGAAACCTCAGGTATATACCTTTCCAGACGCGGGATCTCCCCTCCCC
切割结果:lcl | NC_017656.1_gene_2723 perl的结果: > LCL | NC_017656.1_gene_2723 CAGTCCGGCAGCGCCGGGGTTAAGCGGCCCAAGTAAACGTAGCGCAGCGATCGGCGCCGGAGATTCGCGAACCCGACACTCCGCGCCGCCCGCGGCCAGGACCCGCGGCGCGATCGCGGCGCCGCGCTACAGCCAGCCTCACTGGCGCGCGGGCGAGCGCACGGGCGCTC
可以在不声明变量的情况下执行此操作吗?
答案 0 :(得分:0)
这是一个糟糕的答案,因为它是一个问题 你的意思不是吗?
cut -f 1 multiple_fasta_file | perl -ne '$on = 1 if /^>\?\?\?/; print if $on' > results.txt
multiple_fasta_file
/^>/