how to list files and execute an action?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting how to list files and execute an action?
# 1  
Old 10-16-2009
how to list files and execute an action?

I'm not sure how to word what I'm trying to do.

I would like to:

1. Generate a list of files (easy to do ls -l > list.txt)
2. Carry out an action again each file in the list (not so easy to do)

Like:

List all files in /dir and then execute a move of each file individually. something like:

mv file1 /dir2
mv file2 /dir2
mv file3 /dir2

I know I can carry out a move with

Code:
"find . -type f -name "file" -exec mv {}"

but I'm trying to find a work around to something else and I think this may be it.
# 2  
Old 10-16-2009
Hi.

From it's man page:

Code:
xargs - build and execute command lines from standard input

i.e.
Code:
ls -1 | xargs -I{} mv {} /dir2

# 3  
Old 10-16-2009
A simple for loop is what you need. This will take each value ls outputs, (Do not use -l)assigns it to the variable of x, and executes the commands between do and done.

Code:
# for x in `ls`
> do
> some_command $x
> another_command $x
> done

# 4  
Old 10-16-2009
Quote:
Originally Posted by ilikecows
A simple for loop is what you need. This will take each value ls outputs, (Do not use -l)assigns it to the variable of x, and executes the commands between do and done.

Code:
# for x in `ls`
> do
> some_command $x
> another_command $x
> done

I tried this already and it didn't work either. Let me try it again.
# 5  
Old 10-16-2009
ls -1 | while read line
do
echo $line
done

Note : ls -1(One) and Not l

You can redirect the output of ls -1 to a file and just do the same thing using a cat
Hope this helps
# 6  
Old 10-16-2009
what's the `ls`?

Let's say I'm seaching for *.txt, normally I would type:

Code:
for x in *.txt
do
something $x
something $x
done

I don't understand the for x in `ls`

---------- Post updated at 02:36 PM ---------- Previous update was at 01:56 PM ----------

Thanks for the suggestions but this didn't solve the problem either. Thanks.
# 7  
Old 10-16-2009
Then perhaps you should be more specific about what "the problem" is.

None of the solutions given don't solve problem you showed us.

Also, which OS and shell are you using?
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Action on all files in a folder

How can I do an action to all files in a specific folder? Do I use ls and a loop or something else? Does ls take folder location? (2 Replies)
Discussion started by: locoroco
2 Replies

2. Shell Programming and Scripting

Find list of files missing read & execute permission

Hi, I'm writing a post-upgrade script and I want to find which files don't have read and execute to everyone. I can run a find . ! -perm, but then I have to use a list of the possible permissions (777,775, 755 etc). Is there a more elegant solution? Thanks (2 Replies)
Discussion started by: Catullus
2 Replies

3. Shell Programming and Scripting

Find files and execute commands on these files (advanced)

So, I need to find a bunch of files and delete them (this example, but sometimes I need it for something else) and my trusty go-to command has always been: find . -type f -name '*file*' | xargs -I## rm '##' Works wonders... But: touch file\ file\'.txt touch file.txt touch file\ file.txt... (6 Replies)
Discussion started by: Mr.Glaurung
6 Replies

4. Shell Programming and Scripting

awk script to perform an action similar to vlookup between two csv files in UNIX

Hi, I am new to awk/unix and am trying to put together an awk script to perform an action similar to vlookup between the two csv files. Here are the contents of the two files: File 1: Date,ParentID,Number,Area,Volume,Dimensions 2014-01-01,ABC,247,83430.33,857.84,8110.76... (9 Replies)
Discussion started by: Prit Siv
9 Replies

5. Shell Programming and Scripting

sed cannot execute [Argument list too long]

Hi All, This question has been asked many times, but my problem is slightly different. In my shell script i am connecting to oracle database and loading the results to .dat file. This .dat file is later used to create to .xls file Some times the size of .dat file becomes more than 120000... (8 Replies)
Discussion started by: galaxy_rocky
8 Replies

6. Shell Programming and Scripting

How to access files from different directories and to perform search action in those files?

Hi, I want to access files from different directories (for example: /home/dir1/file1 , /home/dir2/file2 ...) Like this i have to access these files(file1, file2...). (3 Replies)
Discussion started by: bangarukannan
3 Replies

7. Shell Programming and Scripting

sort the files based on timestamp and execute sorted files in order

Hi I have a requirement like below I need to sort the files based on the timestamp in the file name and run them in sorted order and then archive all the files which are one day old to temp directory My files looks like this PGABOLTXML1D_201108121235.xml... (1 Reply)
Discussion started by: saidutta123
1 Replies

8. UNIX for Dummies Questions & Answers

how to use expect - send to execute list of commands inside a file

:)hello people i am working on some kind of PBX and i have list of telephone numbers inside a file, i have to insert these numbers into the correct command and then telnet to a remote server and execute these commands. i can read the telephone numbers and insert them into the command with no... (0 Replies)
Discussion started by: auma78
0 Replies

9. Shell Programming and Scripting

Need help in searching 2 files for strings then perform an action

I have 2 files. I basically want to search both of them to see if the 1st column ($1) matches and if it matches then check to see if the 2nd column ($2) matches, then execute some code showing the results of the matches. File 1: AAA 123 misc blah BBB 456 CCC 789 File 2: ... (2 Replies)
Discussion started by: streetfighter2
2 Replies
Login or Register to Ask a Question