LS -T Output in find


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting LS -T Output in find
# 1  
Old 11-20-2017
LS -T Output in find

I have prepared a script with ls -t to fetch latest file and compare with duplicates i use below

Code:
ls -t *xml |awk 'BEGIN{FS="_"}{if (++dup[$1] >= 2) print}'

However for large size folder ls command not working. so i tried with
Code:
find ./ -type f \( -iname "*.xml" \) | sort |awk 'BEGIN{FS="_"}{if (++dup[$1] >= 2) print}'

but newly created files is not extracted first so i am unable to retain newly created file.

i need to change find command in similiar way output of ls -t command. Please help.

Thank you in advance.
# 2  
Old 11-21-2017
As long as you're just concerned with files in a single directory (and not in files in subdirectories), there is no need to switch from ls to find. Try:
Code:
ls -t | awk -F_ '/xml$/ && dup[$1]++'

# 3  
Old 11-21-2017
Can you qualify what you mean by "ls command not working"? Arg list too long? If so, and you can't increase that limit, you could either try breaking the command down to get fewer files ((ls -t [a-g]*; ls -t [h-n]*; etc..) | ...), or use find with either the -prune or -maxdepth options to prevent reading subdirectories, if that's a concern.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Strange output from find

How can I prevent find from outputting the directory name /home/xxxxxxxx/Backup/.system (which isn't even "other writable"? I am trying to search for files that are "world writable" on a shared web host using the find statement, and I want to prevent find from creating an error (because the of... (4 Replies)
Discussion started by: nixie
4 Replies

2. Shell Programming and Scripting

Output find to array

Hi I'm trying to write a shell script which finds all the .zip files in a given directory then lists them on the screen and prompts the user to select one by entering a number e.g. The available files are: 1. HaveANiceDay.zip 2. LinuxHelp.zip 3. Arrays.zip Please enter the... (4 Replies)
Discussion started by: zX TheRipper Xz
4 Replies

3. UNIX for Dummies Questions & Answers

redirect find output

I'm trying to get a list of directories with "2012" as one of the sub-directories (ex. ./TRAN/U214OU/IN/2012/03/01). I tried using find like this "find . -name 2012 -type d > list.out" but it won't write to file. What am I doing wrong or is there a better way to do this? (6 Replies)
Discussion started by: knotfinley
6 Replies

4. Shell Programming and Scripting

Find Output Formatting

Greetings, I need to find few patterns related to password (pwsd, pwd, password etc) in a directory includig sub -directories. I need to redirect the output of find (in combination with grep) to a file which will be later used to verify the files. OS is Sun Solaris 5.10. The out put file format... (3 Replies)
Discussion started by: Rajpreet1985
3 Replies

5. Red Hat

Custom output on FIND

I have a file, ENV.doc somewhere in my home directory. I want to know where the file is located in my sub directories using FIND. But, I want to display only the relative path along with the file name. Thanks, (6 Replies)
Discussion started by: ashok.g
6 Replies

6. Shell Programming and Scripting

Find Format Output

Hi, I wanna format the output in find to be like this : NUM SIZE TYPE NAME 1 942080 DIR ./a/b/CaChE.xyz 2 888832 FIC ./a/b/core.1234 3 389120 FIC ./a/b/core.12 4 229376 FIC ./xxx/xyz.bak.cache I don't know if its possible. For... (1 Reply)
Discussion started by: naminator
1 Replies

7. UNIX for Dummies Questions & Answers

Redirecting 'find' output...

Hi all, why does one version of this command work but not the other? - This file already exists with 644 mod permissions - I am logged in as d269836, no su rights. - Box is 'SunOS' running bash I think; but runs ksh scripts OK. This one works: find /users/d269836 -type f -name "*.txt"... (6 Replies)
Discussion started by: dan-e
6 Replies

8. Shell Programming and Scripting

How do I check if find had no output

Below script complains about remove, because the find that pipes into it has no results. It's okay operationally, but a bad error message. I would like to first check whether find had any output, and only if it had output do the rm with xargs. How can I check whether find had output? ... (1 Reply)
Discussion started by: tphyahoo
1 Replies

9. UNIX for Dummies Questions & Answers

output of find command

Hi, I am confused about the output of find command. Please see the two find commands below. When i put "*.c" i get lots of files. But when i put *c only i get only one file. Any answer?? $ find . -name "*c" ./clarify/cheval/hp_server/rulemanager/rulemansvc... (3 Replies)
Discussion started by: shriashishpatil
3 Replies

10. UNIX for Dummies Questions & Answers

Output of find

I have a find command that finds all files in a folder older than 6 days i.e find . -name "hourly.*" -mtime + 6 This gives me an output /oralogs/.snapshot/hourly.0 /oralogs/.snapshot/hourly.1 /oralogs/.snapshot/hourly.2 I would like the output to be hourly.0 hourly.1... (5 Replies)
Discussion started by: NeerajSingh
5 Replies
Login or Register to Ask a Question