В Perl есть оператор '-M' для даты модификации файла.
Этот онелайнер сортирует файлы как требуется. Первая строка сверху - самый молодой файл:
perl -e 'map { print "$_\n"; } sort { -M $a <=> -M $b } <*>'
или с помощью списка файлов
perl -e 'map { print "$_\n"; } sort { -M $a <=> -M $b } @ARGV' $(cat files)
Вы путаете прямую косую черту /s
с обратной косой чертой \s
-, а также нижний регистр -e
с верхним регистром-E
:
$ mount | grep -E '\s/\s'
/dev/sda3 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
Обратите внимание, что \s
на самом деле не является ни базовым регулярным выражением (BRE ), ни расширенным регулярным выражением (ERE )спецификатором -он действительно принадлежит PCRE (Perl -совместим регулярное выражение )-, однако по крайней мере GNU grep поддерживает его в других режимах.
Чтобы выполнить поиск вывода mount
для одиночной косой черты с помощью GNUgrep
:
mount | grep -w '/'
В BSD grep
просто используйте
mount | grep ' / '
Нет необходимости в чем-то более сложном, так как команда mount
выводит точку монтирования с простыми пробелами вокруг нее.