Командная строка, эквивалентная MacOSX STAT -F "% m% t% sm% n" на Linux?

Вот и все:

echo "a c a c a c a a a a a a a a c c c a c 0 0 a c 0 a"|tr " " "\n"|sort|uniq -c|sort -rn
  1. Мы используем tr для преобразования пробелов в символы новой строки, затем
  2. используем sort , чтобы отсортировать данные (которые теперь представляют собой серию строк) по алфавиту, затем
  3. используйте uniq , чтобы подсчитать их количество, и, наконец,
  4. используйте sort еще раз, чтобы изменить порядок появления по убыванию (сначала максимальное количество вхождений).

Предполагается, что каждый элемент разделен одним пробелом (что верно в вашем примере).

-1
18.07.2018, 00:24
1 ответ

Это достаточно близко?

ОС X:

$ stat -f "%m%t%Sm %N" *
1531851236  Jul 17 11:13:56 2018 bar
1531851236  Jul 17 11:13:56 2018 baz
1531851236  Jul 17 11:13:56 2018 foo
1531851236  Jul 17 11:13:56 2018 quux

Линукс:

$ stat -c "%Y   %y %n" *
1531851190  2018-07-17 11:13:10.640328282 -0700 bar
1531851190  2018-07-17 11:13:10.640328282 -0700 baz
1531851190  2018-07-17 11:13:10.640328282 -0700 foo
1531851190  2018-07-17 11:13:10.640328282 -0700 quux

Имейте в виду, что некоторые файловые системы Linux по умолчанию не отслеживают время создания (" Birth" время )файла:

$ stat foo
  File: foo
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d    Inode: 262180      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/   redacted)   Gid: ( 1000/   redacted)
Access: 2018-07-17 11:13:10.640328282 -0700
Modify: 2018-07-17 11:13:10.640328282 -0700
Change: 2018-07-17 11:13:10.640328282 -0700
 Birth: -
1
28.01.2020, 05:12

Теги

Похожие вопросы