Ho un dato che assomiglia a questo (chiamiamolo questo file submit.txt
):Esecuzione di cattura regex e poi sostituirlo con SED/PERL
dir1/pmid_5409464.txt
dir1/pmid_5788247.txt
dir1/pmid_4971884.txt
Quello che voglio fare è quello di eseguire un cambiamento regex file di inline in modo che risulti il seguente
perl mycode.pl /home/neversaint/dir1/pmid_5409464.txt > /home/neversaint/dir1/pmid_5409464.output
perl mycode.pl/home/neversaint/dir1/pmid_5788247.txt > /home/neversaint/dir1/pmid_5788247.output
perl mycode.pl /home/neversaint/dir1/pmid_4971884.txt > /home/neversaint/dir1/pmid_4971884.output
C'è un rivestimento SED/Perl per farlo?
La mia difficoltà è nel catturare il nome del file di input e quindi creare il file di output (.output
) - per ogni riga - basato su quello. Sono bloccato con questo:
sed 's/^/perl mycode.pl \/home\/neversaint\/dir1\//g' submit.txt |
sed 's/$/ >/'
'awk '{stampa" xxx/x/y/"$ 0"> xxxxxxxx/$ 0}' lista> output'? Buona fortuna – shellter
No, non lo farò. Il punto è per ogni riga che cattura il 'pmid_xxx 'da' pmid_xxx.txt' e stampiamo la versione di output di quel 'pmid_xxx.output' anche per ogni riga. – neversaint
sed http://stackoverflow.com/questions/2777579/how-to-output-only-captured-groups- with-sed –