LINUX.ORG.RU

Добавить сортировку по времени

 


0

2

Написал скрипт, суть задания его такова: «Командный файл, который из каталога, указанного в командной строке первым параметром (если такого каталога нет – выдача диагностического сообщения) выбирает имена файлов, начинающиеся либо с латинской буквы, либо с другого символа в зависимости от ключа, указанного вторым параметром в командной строке (если второго параметра нет – выдача диагностического сообщения), сортирует их по времени создания и выдает их пронумерованный список в файл „my_sort“.»

Вот единственное, что не могу понять, как из этого задания влепить - это сортировка по времени... Может, кто нибудь знает, как сортировку по времени правильно реализовать?

#!/bin/csh

if ( ! -d $1 ) then
	echo 'Dir not exist'
	exit;
endif
if ( $2 == '' ) then
        echo 'Second argument is empty'
        exit;
endif
set i = 1
set files = `ls -a --time=ctime $1`
foreach f ($files)
	switch ($f)
		case [A-z]*:
		if ( $2 == letter ) then
			echo "$i " $f >> tmp
                        @ i = $i + 1
		endif
		breaksw
		default:
                if ( $2 == symbol ) then
                        echo "$i " $f >> tmp
                        @ i = $i + 1
                endif
		breaksw
	endsw
end

cat tmp>my_sort
rm -f tmp

`ls -a --time=ctime $1`

-t уже не в моде? :)

anonymous ()

формат даты «без разделителей» (201604100105), сортируешь
не?

anTaRes ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.