Run a program for every file with a given extension


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Run a program for every file with a given extension
# 1  
Old 06-01-2007
Run a program for every file with a given extension

Hey all

I have written a python program that takes as input the name of a data file with the extension .lc I would like to write a shell script that finds all of the .lc files in a set of branching directories and runs the program.

Any help?
# 2  
Old 06-01-2007
Use the 'find' command for that. Run the output of that command through a for or a while loop that will run your python command for each file that is found.
# 3  
Old 06-01-2007
you can find those files in Python itself. this way, you don't have to maintain an extra shell script.
some of the modules in Python you can use to find files are: os.walk(), glob , os.path.splitext() etc...

here's a snippet:
Code:
#!/usr/bin/python
import os
for root,dir,files in os.walk("/home"):
    for file in files:
        if file[-3:]==".lc":
            fullpath=os.path.join(root,file)
            do_something(fullpath)

however, if you want to use the shell to find those files, you can use "find" command
Code:
find /path -type f -name "*.lc" -print > file # or pipe to you python program

# 4  
Old 06-01-2007
err.... anything more specific than that... im new to all this.
so i use find to create an array that stores all of the files i will need and then i run my program for each on inside a for loop??
# 5  
Old 06-01-2007
Hey
When you say pipe it into python, how do i pipe it in as one of the arguments

find /path -type f -name "*.lc" -print | python tester.py ########

I want to put the output where ######## is.

Thanks
# 6  
Old 06-01-2007
here's a snippet. Use the sys.stdin.readlines() method in your python script
Code:
import sys
print sys.stdin.readlines()

then from shell:
Code:
# find /path-type f -name "*.lc" -print | ./test1.py
['/path/user/test.lc\n', '/path/test/test1.lc\n']


Last edited by ghostdog74; 09-20-2008 at 10:11 AM..
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Can't get my program to run -- GC calculator?

have been trying for a few weeks not to get this program running. I am newer to programming and it has definitely been a challenge. I think my problem arises with my if statement. I can get it to append the name to the new file, but it simply appends the whole sequence to the file rather than... (3 Replies)
Discussion started by: haley6719
3 Replies

2. Shell Programming and Scripting

Run a program-print parameters to output file-replace op file contents with max 4th col

Hi Friends, This is the only solution to my task. So, any help is highly appreciated. I have a file cat input1.bed chr1 100 200 abc chr1 120 300 def chr1 145 226 ghi chr2 567 600 unix Now, I have another file by name input2.bed (This file is a binary file not readable by the... (7 Replies)
Discussion started by: jacobs.smith
7 Replies

3. UNIX for Advanced & Expert Users

Error compiling program with extension .c

good morning, I have 64-bit DB2 V9.7 AIX 7.1.0.0 I am compiling a C program, when running cc-I / rutadb2/include-c programa.c this error. ksh: cc: not found. how I can check if I have installed the C compiler? Any help will be greatly appreciated. Thank you very much and best regards. (2 Replies)
Discussion started by: systemoper
2 Replies

4. Shell Programming and Scripting

Shell script to run a python program on multiple entries in a file

Hello I am trying to run a python program using shell script, which takes a single argument from a file. This file has one entry per line : 1aaa 2bbb 3ccc 4ddd 5eee ... ... ... My shell script runs the program, only for the last entry : #!/bin/sh IFS=$'\n' for line in $(cat... (2 Replies)
Discussion started by: ad23
2 Replies

5. UNIX for Dummies Questions & Answers

Log in, run program

Hey, im editing the passwd file so that when the user ben logs in it runs my assign program. I changed the last column from to Then when i log in i get... There is no problem with the program because it runs fine when i open it normally. Any help much appreciated. (8 Replies)
Discussion started by: RAFC_99
8 Replies

6. Shell Programming and Scripting

How to run this program with only one input file at a time

i have a program ABC, which runs every two minutes and takes the input according to the a value called "pointer" files need to be processed by ABC are input0001 input0002 input0003 input0004 input0005 current value of pointer is 0001, now program runs and takes all the files from... (2 Replies)
Discussion started by: Prat007
2 Replies

7. UNIX for Dummies Questions & Answers

cannot run program

Hi, I have a program in /opt/local/bin, my path in my .profile is export PATH=/opt/local/bin:/opt/local/sbin:$PATH however when i type the program name it cannot find it, however i know the program is in /opt/local/bin? Thanks (2 Replies)
Discussion started by: c19h28O2
2 Replies

8. Shell Programming and Scripting

how can i run java program from any where

Hello all sorry didnt know where to post it i compiled simple program that using "System.getProperty("user.dir");" now i compiled the program under directory foo and and its running great when i do "java myapp" i included this directory in the $PATH env variable so i could see it fro any where... (1 Reply)
Discussion started by: umen
1 Replies

9. UNIX for Dummies Questions & Answers

Getting a program to run

Please help, I have tried to run this program countless times and still nothing. Please tell me what I'm doing wrong. $ cat>test count=1 while do echo "5" read number echo $5 let count=count+ 1 done exit 0 ^C$ ksh test $ ^C $ ksh test $ $ nothing happend (6 Replies)
Discussion started by: ctiamaria
6 Replies

10. Programming

how to run debugging on c program

Can someone help me debug a c program I am running? It gives me segmentation fault. I want to turn on debugging. Can some one give the command to turn it on? Below is the error I get: Segmentation Fault (core dumped) (3 Replies)
Discussion started by: ibeg
3 Replies
Login or Register to Ask a Question