find problem with exec


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers find problem with exec
# 15  
Old 12-27-2010
I tried this :
Code:
#!/bin/sh
find $1 -type f -size +$2c -exec dirname {} \; | sort -u | xargs ls -lh

Displays:
Code:
total 8
-rwxrwxrwx  1 MorpheusC  MorpheusC    82B Dec 27 11:39 a
-rw-r--r--  1 MorpheusC  MorpheusC   219B Dec 27 11:01 files.txt
lrwx------  1 root       MorpheusC    24B Dec 21 07:53 public_html -> /var/www/u   sers/MorpheusC

Thats not alright. I dont have a total of 8, or 8 what ?Look :
Code:
 ls -lh
total 4.0k
-rwxrwxrwx    1 Morpheus Morpheus       82 Dec 27 11:39 a
-rw-r--r--    1 Morpheus Morpheus      219 Dec 27 11:01 files.txt
lrwx------    1 root     Morpheus       24 Dec 21 07:53 public_html -> /var/www/users/MorpheusC

And i want to put the files bigger than 1K or what value has the second argument in a file (files.txt ), i must use "grep" or just > files.txt ?
like that ./a /home/MorpheusC 100 files.txt
and receive total : of all the files and write the files bigger than 100 in the files.txt
# 16  
Old 12-27-2010
"8" is 8 blocks, or 4.0K.

So what you want is the list of files over a certain size, but then a directory listing of their containing directories? Would this go into a second file? I have to admit I am at a loss as what you are trying to report.
# 17  
Old 12-27-2010
Sorry for my english, is not very good.

I want to make a script that calculates the total size in bytes from files from a directory(first argument) and displays "Total :xxxxx", the second argument must indicate the minimum size of files processed and the third argument indicates the path to a file that will save the processed file names, that have size greater than specified in argument 2.
like this :
Code:
./script /root 100 files.txt

The script displays the total size of files. And in the files.txt will be written the files greater than the second argument.( size:name_of_file). Thanks again
# 18  
Old 12-27-2010
I see.
Code:
find ${1} -type f -size +${2}c -print0 | xargs -0 du -bsS | tee "${3}" | awk '{ N += $1; } END { print N; }'

. Note the size will be in bytes.
# 19  
Old 12-28-2010
It seems that du doesn`t have -bS .....
Code:
./a /home/MorpheusC/ 10 files.txt
du: unknown option -- b
usage: du [-a | -s] [-chkrx] [-H | -L | -P] [file ...]

# 20  
Old 12-28-2010
O darn ... but this is one of the joys of working with many flavors of UNIX. The back to the -ls of find:
Code:
find ${1} -type f -size +${2}c -ls | awk '{printf "%10d %s\n", $7, $NF > OUTFILE; N += $7 } END { print N; }' OUTFILE="${3}"

This User Gave Thanks to m.d.ludwig For This Post:
# 21  
Old 12-28-2010
It seems that works, but i had seen that the total that is displayed
Code:
./a /home/MorpheusC/ 4000 files.txt
4108

is not correct, is the total size of the files greater than 4000 , i want to display the real size of files and in the files.txt to be the rest greater than a value. Thanks again !
 
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