Вы можете получить конкретный столбец в оболочке, например:
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
чрезвычайно полезна.