109: (Default)
[personal profile] 109
вот, потребовалось рекурсивно отсортировать файлы по времени создания. ну, я же знаю, что CLI is more powerful... минут пятнадцать убил, рассматривая и пробуя разные ключи ls. потом меня осенило, как это легко и просто делается в гуях.

Re: I STARTED AT ZERO

Date: 2003-08-09 01:37 pm (UTC)
From: [identity profile] 109.livejournal.com
ага, ага. а работающей командной строки никто из умельцев так и не написал. я правильно понимаю, что надо опять на перле писать? :-)

Re: I STARTED AT ZERO

Date: 2003-08-09 01:40 pm (UTC)
From: [identity profile] msh.livejournal.com
В смысле? Первая же сказанная тебе строчка - работает.

Кстати, а все ключи rar ты не помнишь, случайно?

Re: I STARTED AT ZERO

Date: 2003-08-09 02:00 pm (UTC)
From: [identity profile] 109.livejournal.com
В смысле? Первая же сказанная тебе строчка - работает.

где работает, на юниксе? мне не надо на юниксе, тем более, что там даже creation time нет (это правда, что ли?)

Re: I STARTED AT ZERO

Date: 2003-08-09 02:38 pm (UTC)
From: [identity profile] msh.livejournal.com
msh@MSH ~
$ touch a

msh@MSH ~
$ touch b

msh@MSH ~
$ ls -t `find . -type f`
./b ./a ./.bash_history

msh@MSH ~
$ uname
CYGWIN_NT-5.0

Re: I STARTED AT ZERO

Date: 2003-08-10 02:43 am (UTC)
From: [identity profile] msh.livejournal.com
Ты так и не посмотрел в man?

Нет на Unix creation time, поэтому в каждом порте ls ошеломленные новыми небывалыми возможностями Windows программисты делали по разному

Например, у MKS Tools -t сортирует именно по creation time. А у Cygnus (и это даже сказано в ls --help) надо делать ls --time=ctime

Re: I STARTED AT ZERO

Date: 2003-08-10 08:29 am (UTC)
From: [identity profile] 109.livejournal.com
нет у меня никакого мана. а начал я с чтения ls --help, я же написал. этим, собственно, и закончил. вот, что было в моём распоряжении:
-----
Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuSUX nor --sort.

-a, --all do not hide entries starting with .
-A, --almost-all do not list implied . and ..
-b, --escape print octal escapes for nongraphic characters
-B, --ignore-backups do not list implied entries ending with ~
-c sort by change time; with -l: show ctime
-C list entries by columns
--color[=WHEN] control whether color is used to distinguish file
types. WHEN may be `never', `always', or `auto'
-d, --directory list directory entries instead of contents
-D, --dired generate output designed for Emacs' dired mode
-f do not sort, enable -aU, disable -lst
-F, --classify append a character for typing each entry
--format=WORD across -x, commas -m, horizontal -x, long -l,
single-column -1, verbose -l, vertical -C
--full-time list both full date and full time
-g (ignored)
-G, --no-group inhibit display of group information
-i, --inode print index number of each file
-I, --ignore=PATTERN do not list implied entries matching shell PATTERN
-k, --kilobytes use 1024 blocks, not 512 despite POSIXLY_CORRECT
-l use a long listing format
-L, --dereference list entries pointed to by symbolic links
-m fill width with a comma separated list of entries
-n, --numeric-uid-gid list numeric UIDs and GIDs instead of names
-N, --literal print raw entry names (don't treat e.g. control
characters specially)
-o use long listing format without group info
-p append a character for typing each entry
-q, --hide-control-chars print ? instead of non graphic characters
-Q, --quote-name enclose entry names in double quotes
-r, --reverse reverse order while sorting
-R, --recursive list subdirectories recursively
-s, --size print size of each file, in blocks
-S sort by file size
--sort=WORD ctime -c, extension -X, none -U, size -S,
status -c, time -t, atime -u, access -u, use -u
--time=WORD show time as WORD instead of modification time:
atime, access, use, ctime or status
-t sort by modification time; with -l: show mtime
-T, --tabsize=COLS assume tab stops at each COLS instead of 8
-u sort by last access time; with -l: show atime
-U do not sort; list entries in directory order
-w, --width=COLS assume screen width instead of current value
-x list entries by lines instead of by columns
-X sort alphabetically by entry extension
-1 list one file per line
--help display this help and exit
--version output version information and exit

By default, color is not used to distinguish types of files. That is
equivalent to using --color=none. Using the --color option without the
optional WHEN argument is equivalent to using --color=always. With
--color=auto, color codes are output only if standard output is connected
to a terminal (tty).

Report bugs to fileutils-bugs@gnu.ai.mit.edu
----
скажи мне теперь, как из этого хелпа извлечь результат. closest thing I came up with is
ls -lGRSc --time=c
но она сортирует внутри каждого фолдера отдельно и выводит group information, несмотря на -G. отдельным вопросом стоит, почему надо писать
-Sc --time=c, а --sort=с написать нельзя и как это следует из --help.

Re: I STARTED AT ZERO

Date: 2003-08-10 10:39 am (UTC)
From: [identity profile] evolver.livejournal.com
скажи мне теперь, как из этого хелпа извлечь результат.
(терпеливо) Think out of the box. Задача решается в два, а не в одно действие. Но о такой возможности ты даже не подумал, раз 15 минут пытался решить ее с помощью одного только ls, который в одиночку этого сделать не может. Разве что в пределах одного каталога.

Хотя что-то мне подсказывает, что в гуе ты проделал тоже самое: рекурсивно построил список всех файлов, а потом его отсортировал. Это именно то, что делает предложенная мной строка. То, что ты не смог выразить это в терминах CLI - так это просто твое незнание, а не плохая функциональность CLI.

С другой стороны на имеющемся у тебя наборе костылей из UnixUtils и cmd.exe это не реализовать. Но кривость данного конкретного setup-а не является достаточным аргументом, чтобы делать выводы о нефункциональности CLI в общем случае. По этому поводу даже пословица про зеркало есть.

(no subject)

Date: 2003-08-11 06:54 am (UTC)
From: [identity profile] 109.livejournal.com
1. out of the box, усраться можно. out of the box я подумал, когда меня осенило, что даже задачу, типичную для CLI в GUI можно сделать гораздо быстрее и проще.

2. то, что даже такой продвинутый пользователь, как я, не смог сделать это в CLI за 15 минут, а сделал в GUI за 10 секунд - говорит только о предельной маргинальности CLI. иными словами - CLI is dead.

3. и опять нет (с), это безусловно можно сделать с помощью UnixUtils. если бы этого нельзя было сделать, CLI бы сосало не просто, как оно делает сейчас, а неимоверно.

только я не настолько затронут данной темой, чтобы ещё тратить своё время сверх уже затраченного, чтобы найти очередную бессмысленную комбинацию буковок. тем более, что это не я тут пытаюсь доказать, что CLI не сосёт.
(deleted comment)

(no subject)

Date: 2003-08-13 12:53 pm (UTC)
From: [identity profile] 109.livejournal.com
да, что-то вроде. но только сортированное всё целиком, а не по фолдерам. ибо /B, хоть и отменяет вывод заголовков, но саму-то разбивку по фолдерам не отменяет.

ps. слава богу, что я до этого не дошёл! я почему-то сразу решил, что dir не справится, и принялся ls изучать. а так я бы ещё больше времени убил. :-)

(no subject)

Date: 2003-08-13 12:52 pm (UTC)
From: [identity profile] evolver.livejournal.com
Слил

Всего лишь 4-буквенная комбинация из трех различных букв, между прочим.

Выводы:
1. Think out of the box
2. Be big enough to admit

(no subject)

Date: 2003-08-13 02:06 pm (UTC)
From: [identity profile] 109.livejournal.com
я-то, конечно, слил, но вот уже пять дней прошло, а ты так и не смог написать работающую строчку. даже вон человек с dir подобрался ближе к результату.

да, вот ещё (чтобы сэкономить roundtrip) - любой, кроме самых упёртых, давно бы мог понять, что меня не интересует строчка, которая у тебя на компьютере работает - меня интересует строчка, которая у меня на компьютере будет работать.

если бы у нас в саппорте кто-нибудь клиенту сказал "меня не ебёт, у меня на машине всё работает" - его бы сразу уволили нахрен. а в остальном, конечно, я слил.

(no subject)

Date: 2003-08-13 02:08 pm (UTC)
From: [identity profile] brohm.livejournal.com
А расскажите пожалуйста, как требуемого результата добиться в GUI на моем компьютере?
Ну и, до кучи, на вашем?

(no subject)

Date: 2003-08-13 02:14 pm (UTC)
From: [identity profile] 109.livejournal.com
а какой у вас компьютер?

на моём - сделать в эксплорере search *.* начиная с требуемого места, сделать видимой колонку 'Creation Time' и жмакнуть по ней со всей силы мышкой.
(deleted comment)

(no subject)

Date: 2003-08-14 06:29 am (UTC)
From: [identity profile] 109.livejournal.com
да, я посмотрел - у меня на w2k тоже creation time нету в списке колонок. значит, только начиная с xp.

я как-то живу без resource kit и support tools. впрочем, я системным программированием не занимаюсь.

Profile

109: (Default)
109

March 2019

S M T W T F S
     12
3456789
101112131415 16
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags