Sorting Files according to their Extensions...


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Sorting Files according to their Extensions...
# 1  
Old 12-07-2007
Sorting Files according to their Extensions...

I am trying to write a Korne Shell Script wherein we have to sort
files according to their extensions(for eg. 1.sh, 5.sh, 9.sh together;
4.csh, 120.csh, 6.csh together and 7.ksh, 2.ksh, 59.ksh together) and
move them to their respective directories viz. sh, csh and ksh...

I think, Regular Expressions can be used here for sorting.


Any Inputs please...


Thanks a lot in advance..
# 2  
Old 12-07-2007
First make a list of all entensions in use. Then move each set of files with that extension.

Code:
EXT_LIST=$(ls | awk -F. 'NF>1{print $NF}' | sort -u)
for i in $EXT_LIST; do
  mkdir -p $i
  mv *.$i $i || rmdir $i 2>/dev/null
done

- If you don't include "NF>1" then files without extensions will be included (not good).
- the "-u" flag of "sort" limits the list to unique values
- the "rmdir" on failure of "mv" is to remove bad.dirs.created.from.weirdly.named.files!!!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Mv all files with different extensions to a new name

Hello all! I want to move several files foo.aux foo.log foo.pdf foo.tex to bar_foo.aux bar_foo.pdf bar_foo.tex I am on tcsh % mv foo.* bar_!#:1 is not working. Thank you for your help marek (11 Replies)
Discussion started by: marek
11 Replies

2. Shell Programming and Scripting

Copy files with different extensions and same name

Hi, i have two folders. Folder A has 1000+ files with just images named like : 01012015.png 01022015.png etc. Folder B has much more files, part of them with same name as png files folder others not. Instead of folder A wich are only images, these are audio wav files. I need to... (11 Replies)
Discussion started by: Board27
11 Replies

3. Shell Programming and Scripting

Find duplicate files but with different extensions

Hi ! I wonder if anyone can help on this : I have a directory: /xyz that has the following files: chsLog.107.20130603.gz chsLog.115.20130603 chsLog.111.20130603.gz chsLog.107.20130603 chsLog.115.20130603.gz As you ca see there are two files that are the same but only with a minor... (10 Replies)
Discussion started by: fretagi
10 Replies

4. Emergency UNIX and Linux Support

Sorting file content by file extensions

Hi Experts, I have one .txt file which has filenames with various extensions e.g. .gz,.dat,.CTL,.xml. I want to sort all the filenames as per their extensions and would like to delete all the file names with .xml extension. Please help. PS : I am using Sun OS Generic_122300-60. ... (9 Replies)
Discussion started by: ajaypatil_am
9 Replies

5. Shell Programming and Scripting

looping through files with different extensions

Hi all, I am trying to make a for loop invoking files with different extensions (*.ugrd and *.vgrd) and I cant just make it work. Cant figure out how to load the files so as to use them in subsequent commands like the ones in this pseudo code. the files are arranged such that in one date for... (8 Replies)
Discussion started by: ida1215
8 Replies

6. Shell Programming and Scripting

Give extensions to files which do not have an extension

HI, I have a bunch of files on my Linux system which do not have a file name extension in them. I want to process them with "sed" (using loop) but can't do so. Is there any way to give an extension to files which have no extension in them in Linux? Currently files are like this: cat dog... (1 Reply)
Discussion started by: shoaibjameel123
1 Replies

7. Shell Programming and Scripting

Rename files extensions

Hello ! i have a few files like ... setup.001 setup.002 setup.003 setup.004 // to setup.095 and i would like to rename those files to ... setup.r01 setup.r02 setup.r03 setup.r04 // to setup.r95 (7 Replies)
Discussion started by: Putazo
7 Replies

8. UNIX for Dummies Questions & Answers

changing extensions for multiple files at once

I copied some files to another folder, and I want to change them from .doc extensions to .txt extensions. I tried using the cp and mv commands, but it didn't work. Is it possible to change file extensions with these commands, and if so how do I do it? I tried using the * wildcard (say cp *.doc... (1 Reply)
Discussion started by: Straitsfan
1 Replies

9. Shell Programming and Scripting

Find files with 3 different extensions

Hi all, From one directory I need to fetch only files of type *.xls,*.csv,*.txt. I tried the find . -name '*.txt,*.csv,*.xls' -print. But it throws me error. Please do help me on this. Thanks Mahalakshmi.A (11 Replies)
Discussion started by: mahalakshmi
11 Replies

10. UNIX for Dummies Questions & Answers

List Files by Extensions

I have a unix directory with 500 plus files . When I do a ls -lR I can see ALL the files here . How can I sort this by the files extensions ? I can't enter ls -lR *.ext1 *.ext2 *.ext3 etc in case I miss out some files . (2 Replies)
Discussion started by: newbienix
2 Replies
Login or Register to Ask a Question