Как упорядочить только папки по времени создания с использованием шеллскрипта? - PullRequest
0 голосов
/ 12 января 2011

У меня есть несколько папок и файлов внутри каталога.Мне нужно заказать только папки по времени создания.

Как упорядочить все папки по времени создания, используя шеллскрипт?Спасибо

Ответы [ 4 ]

3 голосов
/ 12 января 2011

Вам не нужен сценарий оболочки.ls упорядочит ваши файлы по времени создания, если вы включите опции -ltc.

От man ls:

-c     with -lt: sort by, and show, ctime (time of last modification of file 
                  status information) 
       with -l: show ctime and sort by name otherwise: sort by ctime

Если вас интересует тольков каталогах, а не в обычных файлах, вы можете отфильтровать результаты, выполнив команду grep

ls -ltc | grep ^d

Примечание: ^d означает, что отображаются только строки, начинающиеся с буквы d, что в случаевывод ls -l означает каталоги.

update

Начиная с ваш ответ , похоже, вас интересует только имя файла самого нового файла.Попробуйте это:

ls -ltc | awk '/^d/{print $NF; exit}'

Примечания:

  • /^d/: отфильтровать строки, начинающиеся с 'd'
  • print $NF: напечатать последний столбец
  • ; exit: выход сразу после первого матча
0 голосов
/ 12 января 2011

Спасибо за все ответы!

Я решил свою проблему, используя следующую команду:

Порядок по времени создания: ls -clh | grep ^d | head -1 | rev | cut -d' ' -f1 | rev

Заказ по времени модификации: ls -tlh | grep ^d | head -1 | rev | cut -d' ' -f1 | rev

0 голосов
/ 12 января 2011

Я бы предпочел не использовать ls в скриптах;вместо этого используйте find:

find . -mindepth 1 -maxdepth 1 -type d -printf "%C@ %f\n" | 
    sort -n | 
    cut -d\  -f2-

Опция "-mindepth 1" есть, потому что мы не хотим "."на выходе.

В качестве альтернативы, вы также можете использовать stat:

for dir in */; do
    stat -c "%Z $n" "$dir"
done | sort -n | cut -d\  -f2-
0 голосов
/ 12 января 2011

ls -d -t

В следующий раз, RTM .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...