Re: Sort files by filename

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Mark Haney wrote:
> 
> With apologies to the 2 Les', the situation isn't like that and I
> apologize if I've not been clear.  The application that I'm working with
>  is running on a server that simply relays the data to all our
> customers, it doesn't store a copy of the files and then feed them.  The
> NWS weather data requires as close to real-time performance and the
> 'series of tubes' allows.  That said, I'm running another server that
> runs the same application but is designed to pull the data feed and then
> store the files locally.  I /can/ store the files on the primary server,
> and I have, but this is a production server that feeds 13MB/hr for each
> of the 60 or so radar sites it handles 24/7 so I don't like asking it to
> do more than it does.
> 
> So, in essence I'm stuck with these files being dumped on a server via a
> proprietary method.  So I need to sort the files and check for missing
> ones on the filesystem.
> 
> The early suggestions were great and I'm trying each one and tweaking to
> see if I can make them work with what I have.  But any additional bash
> tips would be helpful as I am pressed for an answer to this issue.
> 
If your data has a fixed file length, cut can separate out the
specific bytes you want to sort on. If not, then if there is a
specific separator between parts of the name, bot cut and sort can
use that to grab the part you want to sort on. What I suspect would
work well on for you is to feed the output of ls though sort, and
then use a for loop with counter to compare the part you are
interested in to check for missing numbers. By doing a compare of
the first part of the file name, you can reset the counter for each
series of files. Or you can have ls only produce one set of files.

count=xx
for i in $(ls <something>* | sort) ; do
	file_num=$(cut --delimiter=_ -f1 $i)
	while [ $count -lt $file_num ] ; do
		echo Missing file number $count	
		count++
	done
done


This is a very rough script to give you an idea.  I can see problems
 where you get a file name that is in the wrong format, that causes
the while loop to go on forever. But if I didn't make too many
syntax errors, it should give you a starting point.

Mikkel
-- 

  Do not meddle in the affairs of dragons,
for thou art crunchy and taste good with Ketchup!

Attachment: signature.asc
Description: OpenPGP digital signature

-- 
fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [Fedora Magazine]     [Fedora News]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Maintainers]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [Fedora Fonts]     [ATA RAID]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [SSH]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Tux]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Asterisk PBX]     [Fedora Sparc]     [Fedora Universal Network Connector]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux