Visit Our UNIX and Linux User Community


How to run perl script on multiple files of two directories?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to run perl script on multiple files of two directories?
# 1  
Old 09-24-2013
How to run perl script on multiple files of two directories?

Hi

I have 100 files under file A labled 1.txt 2.txt.....100.txt(made up name)
I have 1 files under file B labled name.txt

How can i run the same perl script on 100 files and file name.txt

I want to run
perl script.pl A/1.txt B/name.txt
perl script.pl A/2.txt B/name.txt
.......
perl script.pl A/100.txt B/name.txt

How can I do it with one command or anyway to makes it works, shell script?
# 2  
Old 09-24-2013
Try a nested for loop

Code:
for A in A/*
do
    for B in B/*
    do
        perl script.pl "$A" "$B"
    done
done


Last edited by Chubler_XL; 09-24-2013 at 05:17 PM.. Reason: Quotes needed for file names with spaces
# 3  
Old 09-24-2013
Quote:
Originally Posted by Chubler_XL
Try a nested for loop

Code:
for A in A/*
do
    for B in b/*
    do
        perl script.pl $A $B
    done
done

Do i need to put it in my perl script?
Or it is a linux command?
Sorry for the silly question.
And I want to generate output file name according to the file in A
such as
perl script.pl A/1.txt B/name.txt > C/1.gff

---------- Post updated at 04:19 PM ---------- Previous update was at 04:16 PM ----------

Do i need to put it in my perl script?
Or it is a linux command?
Sorry for the silly question.
And I want to generate output file name according to the file in A
such as
perl script.pl A/1.txt B/name.txt > C/1.gff
# 4  
Old 09-24-2013
This is a linux shell script.

Either put it in a file (run_perl.sh) and use chmod 755 run_perl.sh to make it executable or just type directly into the shell.

Note the shell will put continuation characters (usually >) at the start of each additional line until it sees the matching done for the first for

you can test what it will do by using echo perl script.pl "$A" "$B" instead of perl script.pl "$A" "$B"

Previous Thread | Next Thread
Test Your Knowledge in Computers #624
Difficulty: Medium
The continue statement is used in Python to skip the rest of the statements in the current loop block and to continue to the next iteration of the loop.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Run script on multiple files

Hi Guys, I've been having a look around to try and understand how i can do the below however havent come across anything that will work. Basically I have a parser script that I need to run across all files in a certain directory, I can do this one my by one on comand line however I... (1 Reply)
Discussion started by: mutley2202
1 Replies

2. Shell Programming and Scripting

Perl: script to work with files with the same name in different directories

Hi All, I would like to use a Perl (not Bash) script to work with multiple files of the same name in different directories (all in the same parent directory). I tried to create a loop to do so, but it isn't working. My code so far: while (defined(my $file = glob("./*/filename.txt")) or... (1 Reply)
Discussion started by: elgo4
1 Replies

3. Shell Programming and Scripting

Run script on multiple files

I have a script that I need to run on one file at a time. Unfortunately using for i in F* or cat F* is not possible. When I run the script using that, it jumbles the files and they are out of order. Here is the script: gawk '{count++; keyword = $1} END { for (k in count) {if (count == 2)... (18 Replies)
Discussion started by: newbie2010
18 Replies

4. Shell Programming and Scripting

Run one script on multiple files and print out multiple files.

How can I Run one script on multiple files and print out multiple files. FOR EXAMPLE i want to run script.pl on 100 files named 1.txt ....100.txt under same directory and print out corresponding file 1.gff ....100.gff.THANKS (4 Replies)
Discussion started by: grace_shen
4 Replies

5. UNIX for Dummies Questions & Answers

Run one script on multiple files and print out multiple files.

How can I run the following command on multiple files and print out the corresponding multiple files. perl script.pl genome.gff 1.txt > 1.gff However, there are multiples files of 1.txt, from 1----100.txt Thank you so much. No duplicate posting! Continue here. (0 Replies)
Discussion started by: grace_shen
0 Replies

6. Shell Programming and Scripting

Run perl script with multiple file arguments

Hello everyone, I have two types of files in a directory: *.txt *.info I have a perl script that uses these two files as arguments, and produces a result file: perl myScript.pl abc.txt abc.xml How can I run this script (in a "for" loop , looping through both types of files)... (4 Replies)
Discussion started by: ad23
4 Replies

7. Shell Programming and Scripting

perl script to check if empty files are created and delete them and run a shell script

I have a local linux machine in which the files are dumped by a remote ubuntu server. If the process in remote server has any problem then empty files are created in local machine. Is there any way using perl script to check if the empty files are being created and delete them and then run a shell... (2 Replies)
Discussion started by: hussa1n
2 Replies

8. Shell Programming and Scripting

Run perl script on files in multiple directories

Hi, I want to run a Perl script on multiple files, with same name ("Data.txt") but in different directories (eg : 2010_06_09_A/Data.txt, 2010_06_09_B/Data.txt). I know how to run this perl script on files in the same directory like: for $i in *.txt do perl myscript.pl $i > $i.new... (8 Replies)
Discussion started by: ad23
8 Replies

9. UNIX for Dummies Questions & Answers

Foreach loop to run a perl script on multiple files

Hi, I have thousands of files in a directory that have the following 2 formats: 289620178.aln 289620179.aln 289620180.aln 289620183.aln 289620184.aln 289620185.aln 289620186.aln 289620187.aln 289620188.aln 289620189.aln 289620190.aln 289620192.aln.... and: alnCDS_1.fasta (1 Reply)
Discussion started by: greptastic
1 Replies

10. Shell Programming and Scripting

1 script or multiple scripts?? - check files, run jobs

Question for anyone that might be able to help: My objective is to eheck if a file (a source file) exists in a directory. If it does then, I'd like to call an application (Informatica ETL file...not necessary to know) to run a program which extracts data and loads it into multiple targets. ... (6 Replies)
Discussion started by: jnanasakti
6 Replies

Featured Tech Videos