Ваши первые две предложенные команды не эквивалентны. Если вы используете find
to -exec ls
, то происходит то, что find
запускает ls
один раз для каждого файла. Порядок вывода будет порядком, найденным функцией find
, а не ls
. Поскольку ls
запускается по одному файлу за раз, он не знает, как выстроить столбцы. Например, сделано здесь в Cygwin Bash:
Nicole@NicoleDesktop ~/HamiltonCshell/Current/util
$ find . -name "s*.c" -exec ls -lrt {} \;
-rwx------+ 1 Nicole None 104826 Dec 29 2010 ./Archive/su.2010-12-29/su.c
-rwx------+ 1 Nicole None 107074 Aug 2 2011 ./Archive/su.2011-08-29/su.c
-rwx------+ 1 Nicole None 125359 Jul 17 11:47 ./sed.c
-rwx------+ 1 Nicole None 15517 Oct 6 2011 ./setrows.c
-rwx------+ 1 Nicole None 8454 Oct 8 2011 ./setwin.c
-rwx------+ 1 Nicole None 39007 Jan 24 2012 ./shortcut.c
-rwx------+ 1 Nicole None 4655 May 22 2009 ./showdesk.c
-rwx------+ 1 Nicole None 66906 Nov 20 09:58 ./sort.c
-rwx------+ 1 Nicole None 9702 May 22 2009 ./split.c
-rwx------+ 1 Nicole None 21306 May 22 2009 ./strings.c
-rwx------+ 1 Nicole None 113680 Jul 15 06:56 ./su.c
-rwx------+ 1 Nicole None 10076 May 23 2009 ./sum.c
Если вы используете подстановку команд, оболочка вставит список, созданный функцией find
в командную строку в качестве аргументов для ls
а затем она будет запускать ls
ровно один раз во всем списке файлов, и результат будет упорядочен по дате, сначала самой новой.
Nicole@NicoleDesktop ~/HamiltonCshell/Current/util
$ ls -lt $(find . -name "s*.c")
-rwx------+ 1 Nicole None 66906 Nov 20 09:58 ./sort.c
-rwx------+ 1 Nicole None 125359 Jul 17 11:47 ./sed.c
-rwx------+ 1 Nicole None 113680 Jul 15 06:56 ./su.c
-rwx------+ 1 Nicole None 39007 Jan 24 2012 ./shortcut.c
-rwx------+ 1 Nicole None 8454 Oct 8 2011 ./setwin.c
-rwx------+ 1 Nicole None 15517 Oct 6 2011 ./setrows.c
-rwx------+ 1 Nicole None 107074 Aug 2 2011 ./Archive/su.2011-08-29/su.c
-rwx------+ 1 Nicole None 104826 Dec 29 2010 ./Archive/su.2010-12-29/su.c
-rwx------+ 1 Nicole None 10076 May 23 2009 ./sum.c
-rwx------+ 1 Nicole None 21306 May 22 2009 ./strings.c
-rwx------+ 1 Nicole None 9702 May 22 2009 ./split.c
-rwx------+ 1 Nicole None 4655 May 22 2009 ./showdesk.c