bin_SCRIPTS = \
+ files-from-date.rb \
find-cmd.sh \
list-dates.rb \
other-commands \
--- /dev/null
+#!/usr/bin/ruby
+
+# Make sure the record separator is zero rather than new-line
+$/ = "\0"
+
+# The only argument is the date for which to list files
+date = ARGV.shift.to_i
+
+ARGF.each do |line|
+ # The seventh and eigth fields are the backup date and the file name.
+ backupdate,name = line.split( ' ', 8 )[6,7]
+
+ # Print the name if the backup date matches
+ print name if date == backupdate.to_i
+end
{
for type in d f l; do
- find . -type $type -printf "$type %#m %u %g %s %CY%Cm%Cd%CH%CM%CS 0 %p\0"
+ find . -type $type -printf "$type %#m %u %g %s %CY%Cm%Cd%CH%CM%CS %CS %p\0"
done
}
#!/usr/bin/ruby
+# Make sure the record separator is zero rather than new-line
+$/ = "\0"
+
+# Create a set of backup dates
require 'set'
+dates = SortedSet.new
-dates = Set.new
+# Split each input record into 8 fields on spaces and grab the 7th as integer
+date_array = ARGF.map { |rec| rec.split( ' ', 8 )[6].to_i }
-ARGF.each( "\0" ) do |line|
- fields = line.split ' ', 8
- dates.add fields[6]
-end
+# Merge the dates into the set
+dates.merge date_array
-dates.each do |date|
- puts date
-end
+# Output the sorted set
+puts dates.to_a