Вы можете получить конкретный столбец в оболочке, например:
ls -al | while read perm bsize user group size month day time file; do echo $day; done
или , awkкак показано на @Corey ответ , cut -c44-45также будет работать после настройки (с lsзакрепил столбцы), или что - то еще, однако основная проблема заключается в том , что он не будет надежным и пуленепробиваемые (например , на Unix может быть $6, не $7, и это изменяется в зависимости от аргументов), что делает его не дружественным к машине, поэтому вообще не рекомендуется разбирать lsкоманду .
Лучше всего использовать различные доступные команды, такие как findили stat, которые могут предоставить соответствующие опции для форматирования вывода, как вам нужно. Например:
$ stat -c "%x %n" *
2016-04-10 04:53:07.000000000 +0100 001.txt
2016-04-10 05:08:42.000000000 +0100 7c1c.txt
Чтобы вернуть столбец только дней изменений, попробуйте этот пример:
stat -c "%x" * | while read ymd; do date --date="$ymd" "+%d"; done
Стоит отметить, что GNU statможет иметь разные параметры по сравнению с BSD stat, поэтому он не будет пуленепробиваемым в разных операционных системах.
ls. Командаfindчрезвычайно полезна.