Я попробовал
ls -l $filename | cut -d ' ' -f '6-8'
, но если дата меньше 10, это пропускает время. Это связано с дополнительным пространством перед датой, если оно меньше 10. Попробуйте это:
filename="test.txt"
ls -l $filename | awk -F ' ' '{print $6" "$7" "$8}'
Команда awk печатает поля, разделенные пробелами (-F ''). Надеюсь, что это работает. Я знаю, что это не отвечает на исходный вопрос, а просто поясняет команду ls только для даты и времени. Когда Google «ubuntu получает дату и время файла», он перечисляет этот вопрос вверху, что я и искал, так как мне тоже не нужен год. В течение года, даты и времени вы можете попробовать одну из приведенных ниже команд. % m печатает номер месяца. % b печатает аббревиатуру месяца: Снимите% H:% M, если вам не нужен час и минута. % -d не печатает начальный ноль для дня месяца.
date -r $filename +"%Y %m %-d %H:%M"
date -r $filename +"%y %m %-d %H:%M"
date -r $filename +"%Y %b %-d %H:%M"
date -r $filename +"%y %b %-d %H:%M"