Рейтинг:0

Открытие файла на основе даты его изменения

флаг cn

Я знаю, как открыть файл записи LibreOffice из командной строки. Мне нужно открыть последний измененный файл в каталоге, указанном в пути. Это файл .odt. Спасибо

Рейтинг:2
флаг hr

Если вы используете зш в вашем терминале вы можете использовать его квалификаторы глобуса выбрать самого младшего .odt файл (по мвремя модификации):

путь к офису/к/каталогу/*.odt(om[1])

Чтобы использовать функции zsh из другой оболочки, вы можете сделать

zsh -c 'путь к офису/к/каталогу/*.odt(om[1])'
Rogo avatar
флаг cn
Я упустил важную информацию. В самом последнем файле есть пробелы, поэтому он отображается в каталоге как «имя файла.odt». Кроме того, я не использую zsh. Я использую Баш. Я попробовал несколько вариантов, пока безуспешно.
флаг hr
@Rogo, описанный выше метод должен работать для любого допустимого имени файла (включая те, которые содержат пробелы и даже символы новой строки)
Rogo avatar
флаг cn
Установил zsh и все заработало!! Спасибо
Rogo avatar
флаг cn
Хотя это сработало, и я этому рад, после выполнения в терминале было две строки сообщений об ошибках. Я могу игнорировать их, но предпочитаю улучшать свой код/понимание. Есть ли место, куда я могу пойти, чтобы расшифровать это? Вот сообщение func=xmlSecCheckVersionExt:file=xmlsec.c:line=188:obj=unknown:subj=unknown:error=19:invalid version:mode=abi-совместимый;ожидаемая дополнительная версия=2;реальная дополнительная версия=2; ожидаемая дополнительная версия = 25; реальная дополнительная версия = 26
флаг hr
@Rogo, это будет сообщение от самого LibreOffice, а не от команды оболочки. См., например, [Ошибка запуска Libreoffice 6.0.5. Исправилась ли Ubuntu 18.04 после того, как я посмотрел номер версии?] (https://askubuntu.com/a/1108733/178692)
Rogo avatar
флаг cn
вы помогли мне в этом несколько месяцев назад, и он отлично работает, потому что с тех пор я его много использовал. Но я превратил это в скрипт, поэтому я мог просто выполнить ./tasksheet, и он работал как макрос. Теперь не могу найти сценарий. Я сомневаюсь, что поместил его где-нибудь, кроме того места, где Linux по умолчанию. Можете ли вы угадать, где это? Спасибо
Рейтинг:1
флаг cn

Если имя файла не содержит возвратов или других очень странных символов, вы можете использовать лс-кт для сортировки файлов, недавно измененных сверху. Вы хотите видеть только документы Libreoffice. Ты можешь использовать grep фильтровать их. Первый, который вы можете получить с помощью голова -n 1, будет тот, который вы захотите открыть. Вы откроете файл со связанным приложением, используя xdg-открыть. Если переменная оболочки мой путь содержит путь к тому, где находятся ваши файлы, тогда следующая команда откроет самые последние измененные .odt документ.

xdg-open "$mypath"/"$((cd "$mypath"; ls -ct) | grep -i '.odt$' | head -n 1)"

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.