Sou novo nesta comunidade, tentei encontrar respostas relevantes, mas não consegui encontrar nenhuma.
Minha pergunta é: eu quero usar o script perl em um diretório de arquivos que terminem com .fasta, se eu fizer no bash como
for i in *.fasta
do
perl script.pl
done
A pergunta é: como posso usar o valor da variável $ i do bash no script PERL. O script perl abre cada arquivo, executa determinadas funções em cada arquivo e fecha-o. gostar
my $file1 = 'All-Sequences.fasta'; # I want to replace 'All-Sequences.fasta' with $i
open (FILE, $file);
my @file = <FILE>;
close FILE;
print @file;
Essas são funções exemplares.
script
bash-scripting
perl
Hammad Mubeen
fonte
fonte
A resposta fornecida pelo mtak é mais simples. Ele pode ser facilmente modificado para passar mais de um nome de arquivo, mas existe um limite dependente do sistema do número de argumentos da linha de comando.
Se você preferir a resposta ajustada para desempenho para um grande número de arquivos , poderá alimentar a lista de arquivos via canal entre bash (processo pai) e perl (processo filho).
Evita iniciar o interpretador perl muitas vezes e atingir limites no número de argumentos da linha de comando.
script bash:
script perl
fonte