Sort fdupes output by size


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Sort fdupes output by size
# 1  
Old 08-05-2010
Sort fdupes output by size

Hi
I have a file that is a fdupes output. I'd like to sort the duplicated file by size. The format file is the following:

Code:
5996544 bytes each:
/path1/to/file1.jpg
/path2/to/file1.jpg
/pathx/to/file1.jpg
... random number of lines
/path999/to/file1.jpg

591910 bytes each:
/manypath/to/file1.jpg
...
/manymany/to/file1.jpg

I'd like to have the same format but sorted by size..
thx for any help..

Last edited by Scott; 08-05-2010 at 11:57 AM.. Reason: Please use code tags
# 2  
Old 08-06-2010
Code:
awk '$1=""$1' RS='' FS='\n' OFS='\034' file.in |
 sort -n |
 awk '$1=""$1' FS='\034' OFS='\n' ORS='\n\n'

# 3  
Old 08-06-2010
Hi.

See also the general sorting command, msort, at http://freshmeat.net/projects/msorth...projects/msort Using an augmented form of your data:
Code:
#!/usr/bin/env bash

# @(#) s1	Demonstrate text block ordering, numeric key, msort.
# See: http://freshmeat.net/projects/msort

# Infrastructure details, environment, commands for forum posts. 
# Uncomment export command to run script as external user.
# export PATH="/usr/local/bin:/usr/bin:/bin"
set +o nounset
pe() { for i;do printf "%s" "$i";done; printf "\n"; }
pl() { pe;pe "-----" ;pe "$*"; }
LC_ALL=C ; LANG=C ; export LC_ALL LANG
pe ; pe "Environment: LC_ALL = $LC_ALL, LANG = $LANG"
pe "(Versions displayed with local utility \"version\")"
c=$( ps | grep $$ | awk '{print $NF}' )
version >/dev/null 2>&1 && s=$(_eat $0 $1) || s=""
[ "$c" = "$s" ] && p="$s" || p="$c"
version >/dev/null 2>&1 && version "=o" $p printf
msort --version|head -1
set -o nounset
pe

FILE=${1-data1}

# Display sample of data file, with head & tail as a last resort.
pe " || start [ first:middle:last ]"
specimen 15 $FILE \
|| { pe "(head/tail)"; head -n 5 $FILE; pe " ||"; tail -n 5 $FILE; }
pe " || end"

pl " Results:"
msort --block --field-separators=" " --position=1,1 \
--comparison-type=n --quiet $FILE

exit 0

producing:
Code:
% ./s1

Environment: LC_ALL = C, LANG = C
(Versions displayed with local utility "version")
OS, ker|rel, machine: Linux, 2.6.26-2-amd64, x86_64
Distribution        : Debian GNU/Linux 5.0 
GNU bash 3.2.39
printf - is a shell builtin [bash]
msort 8.44

 || start [ first:middle:last ]
Whole: 15:0:15 of 22 lines in file "data1"
5996544 bytes each:
/path1/to/file1.jpg
/path2/to/file1.jpg
/pathx/to/file1.jpg
... random number of lines
/path999/to/file1.jpg

7 bytes each:
/stuff
/more stuff
/even more stff
/final stuff

591910 bytes each:
/manypath/to/file1.jpg
...
/manymany/to/file1.jpg

1 bytes each:
2-blah 3-blah
...
more blah
 || end

-----
 Results:
1 bytes each:
2-blah 3-blah
...
more blah

7 bytes each:
/stuff
/more stuff
/even more stff
/final stuff

591910 bytes each:
/manypath/to/file1.jpg
...
/manymany/to/file1.jpg

5996544 bytes each:
/path1/to/file1.jpg
/path2/to/file1.jpg
/pathx/to/file1.jpg
... random number of lines
/path999/to/file1.jpg

Best wishes ... cheers, drl
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Sort by file/directory size

OS : RHEL 6.6 I want to list the files/directories sorted (Ascending or Desceding) by their size. As you can see in the below example, du command doesn't sort by size. In Linux world, is there any other command or workaround using du command to list the files/directories sorted by their... (6 Replies)
Discussion started by: John K
6 Replies

2. UNIX for Dummies Questions & Answers

[Solved] Size (Sort files using ...)

-rw-r--r-- 1 oracle oinstall 4 Jan 17 16:23 a -rw-r--r-- 1 oracle oinstall 212 Jan 17 17:51 amar -rw-r--r-- 1 oracle oinstall 32 Jan 17 17:30 b -rw-r--r-- 1 oracle oinstall 246 Jan 17 15:40 h1.tar.gz Hi, I want combination of linux command to sort out the line which has 32k size. ... (5 Replies)
Discussion started by: karthick nath
5 Replies

3. Shell Programming and Scripting

Script to sort by size of directories

Hello, I'm trying to find top 5(highest) directories by size. I did something like du -sh * > $file Where I can get all the size with respect to directories, but I need only top 5 directory from the file. How can I sort by size in the file and print top 5 sizes with the directory name??? ... (3 Replies)
Discussion started by: pjeedu2247
3 Replies

4. Shell Programming and Scripting

Sort by segment size

fuser -OdV /temp This command returns the output below; inode=132 size=10871 fd=2 5046330 inode=570 size=292 fd=1 5439528 inode=259 size=2669 fd=1 5570758 inode=759 size=255 fd=1 6226124 inode=636 size=1035 fd=1 ... (8 Replies)
Discussion started by: Daniel Gate
8 Replies

5. Shell Programming and Scripting

Sort by name, time, and size

How do you combine these ls commands so that I can have the outputs by name, time stamp, and size? ls -al |grep name_of_file ls -al | sort +4nr ls -l -t Please advise. (4 Replies)
Discussion started by: Daniel Gate
4 Replies

6. Shell Programming and Scripting

sort by size

Can some one help in sorting the attached file. I used cmd: sort -r jar1.txt -o sortedjar.txt , but it didnt work. Thanks for your help in Advance. (6 Replies)
Discussion started by: sawyer
6 Replies

7. Shell Programming and Scripting

Can't sort file by size column

Hello, I've done ls -ls >fileout1 When I do the sort command for +4 it sorts it bu group. When I do +5 it sorts it by date. But it's skipping the file size column. Example: rwxr-xr-x 1 Grueben sup 65 16 Sep 13:58 cdee How can I sort it by file size? It doesn't... (2 Replies)
Discussion started by: Grueben
2 Replies

8. UNIX for Dummies Questions & Answers

sort by size in Mb and Kb

Hi I am using the command below to list the 10 biggest directories and files in my present directory du -hs * | sort +0 | tail -10 the output is 8K disk-space 16K rish 32K WINDOWS 48K tests 104K imgvdEwLa.jpg 168K 020204_aerosmith_1024768.jdk 3.2M Acdc -... (4 Replies)
Discussion started by: the.noob
4 Replies

9. Shell Programming and Scripting

how to make a line BLINKING in output and also how to increase font size in output

how to make a line BLINKING in output and also how to increase font size in output suppose in run a.sh script inside echo "hello world " i want that this should blink in the output and also the font size of hello world should be big .. could you please help me out in this (3 Replies)
Discussion started by: mail2sant
3 Replies

10. UNIX for Dummies Questions & Answers

sort files by size

Is there a way to sort files by size using the ls command? thanks in advance (1 Reply)
Discussion started by: AMD
1 Replies
Login or Register to Ask a Question