find problem with exec


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers find problem with exec
# 8  
Old 12-21-2010
Try running your script as a root user... find complains about permissions a lot when I use it, if I don't use sudo.. Because of the permissions to certain directories,

---------- Post updated at 03:54 PM ---------- Previous update was at 03:51 PM ----------

Perhaps there are directories in those locations that you don't have read permissions on? Try ls -la to see if that is the case.
# 9  
Old 12-23-2010
Hi again. I tried on another system and it says :
Code:
(MorpheusC@elitter)(~)$ ./a /home/MorpheusC/ 100 files.txt
find: -size: +100k: illegal trailing character

# 10  
Old 12-26-2010
Quote:
find: -size: +100k: illegal trailing character
There is much variation in the syntax and options for the "find" command across different implementations of unix and Linux.
Virtually every variants of "find" allows "c" (characters) for the size units. Some versions also allow "k" (kilobytes), "m" (megabytes) and even "g" (gigabytes).
You have found one which does not allow "k" (kilobytes) for the units. This is not at all unusual.
# 11  
Old 12-27-2010
Hi. It worked with c, but i have a problem. Dont know how to display the total size in bytes of all the files.

The actual code of the script is :
Code:
#!/bin/sh
find $1 -type f -size +$2c -exec ls -lh {} \; >$3

After ./a /home/MorpheusC/ 100 files.txt had written in files.txt this :
Code:
-rw-r--r--  1 MorpheusC  MorpheusC   773B Mar 17  2010 /home/MorpheusC/.cshrc
-rw-r--r--  1 MorpheusC  MorpheusC   398B Mar 17  2010 /home/MorpheusC/.login
-rw-r--r--  1 MorpheusC  MorpheusC   113B Mar 17  2010 /home/MorpheusC/.mailrc
-rw-r--r--  1 MorpheusC  MorpheusC   218B Mar 17  2010 /home/MorpheusC/.profile
-rw-------  1 MorpheusC  MorpheusC   3.5K Dec 27 07:15 /home/MorpheusC/.bash_history

I want to display in the files.txt only the name of the file and size in Bytes. At the end of the command to display the total size of files without that restriction of size. Just total like this :
Code:
Code:
./a /home/MorpheusC/ 100 files.txt
Total : xxxx bytes

and in the files.txt to write just the name and the file size name:size in Bytes.

I tried to put another ls -lh in the script after argument 3 but no luck.
Thanks in advance.
# 12  
Old 12-27-2010
Please remember that
Code:
find .... -exec command \;

executes a single command for each file found. You are running "ls -lh" on each file, from your current working directory. If you want to see what command would be invoked, change the command to:
Code:
find .... -exec echo command \;

Hope this helps.
# 13  
Old 12-27-2010
There is any possibility to execute "ls -lh" for the directory, not for each file in the directory?
# 14  
Old 12-27-2010
Hm... . I think
Code:
find . -type f -size 1k -exec dirname {} \; | sort -u | xargs ls -lh

would give you what you want. Note that if you are looking for how much disk space the files are taking up, use du with the -hsS options instead of ls.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Chaining together exec within find

I need to do the following with a find command on my AIX box Find all files that are -type f Then do the following steps:- Take a listing of them, and write them to a log in /directory/backup/log Tar them up in /directory/backup/tar and remove the files. Here is what I have... (22 Replies)
Discussion started by: jeffs42885
22 Replies

2. Shell Programming and Scripting

2 exec in find

Guys, I want to find the log files greather than 23 days and i want to perform 2 things here. one is to list the files and second is to gzip the files. hope this can be done using sh -c option. but not sure the exact command. find . -name "*.log" -mtime +23 -exec ls -la {} \; ... (5 Replies)
Discussion started by: AraR87
5 Replies

3. Shell Programming and Scripting

find command with -exec

Hi all, Please could someone help with the following command requirement. I basically need to find files NEWER than a given file and order the result on time. My attempt so far is as follows: find . -newer <file_name> -exec ls -lrt {} ;\ But I dont seem to get the right result... (12 Replies)
Discussion started by: jonnyd
12 Replies

4. Shell Programming and Scripting

find: missing argument to `-exec' while redirecting using find in perl

Hi Friends, Please help me to sort out this problem, I am running this in centos o/s and whenever I run this script I am getting "find: missing argument to `-exec' " but when I run the same code in the command line I didn't find any problem. I am using perl script to run this ... (2 Replies)
Discussion started by: ramkumarselvam
2 Replies

5. Ubuntu

Find and EXEC

This is a huge issue. and I need it fixed ASAP. account-system gate-system race_traffic_sensor achievement-system global race_voicepack admin glue-system realdriveby admin-system gps realism-system... (5 Replies)
Discussion started by: austech360
5 Replies

6. Ubuntu

Find and exec

Hello, I am a linux newbe. I want to install a program. I can download it only with wget command from internet. As far as i know this wget command does not transfer the exacutable flags. Because of that i wanted to find all configure files and change their mod to 744. I found this... (1 Reply)
Discussion started by: disconnectus
1 Replies

7. UNIX for Dummies Questions & Answers

Find Exec

Hello All, Is there a way to make exec do a couple of operations on a single input from find? For example, find . -type d -exec ls -l "{}" ";" I would like to give the result of each "ls -l" in the above to a wc. Is that possible? I want to ls -l | wc -l inside... (1 Reply)
Discussion started by: prasanna1157
1 Replies

8. Shell Programming and Scripting

Using MV FIND and -EXEC

Hi, i would like to rename files in directories and subdirs. Files contains specific french or strange caracters. I want to replace all non alpha-numerics by _ (underscore) First, i made this, but i think the "for" is limited. How can i do this directly by FIND ? for file in $(find .... (0 Replies)
Discussion started by: degraff63
0 Replies

9. Shell Programming and Scripting

| with find -exec

can we use |(pipe operator) with find -exec.....? or can pipe the output of find command to another command...? if not, why...? pls explain (3 Replies)
Discussion started by: vijay_0209
3 Replies

10. UNIX for Advanced & Expert Users

find and exec

Hi, Happy new year. Would you be so kind to explain me what does this instruction : find /rep/app -type l -exec ls -l {} \;> allink.lst Many thanks. (2 Replies)
Discussion started by: big123456
2 Replies
Login or Register to Ask a Question