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