пятница, 2 апреля 2021 г.

Быстрый просмотр файлов в Thunar

 Зачастую необходимо быстро посмотреть содержимое того или иного файла. И желательно, чтобы это делалось очень быстро, а не так как это делает неторопливый libreoffice. Для решения этой задачи предлагается скрипт view.sh такого содержания:

#!/bin/bash
IFS=$'\#'
filename=$1

if [ "${filename##*.}" = "docx" ]; then
docx2txt.pl < $filename | less
fi

if [ "${filename##*.}" = "odt" -o "${filename##*.}" = "ods" -o "${filename##*.}" = "odp" ]; then
odt2txt --width=80 $filename | less
fi

if [ "${filename##*.}" = "doc" ]; then
antiword -f -w 0 $filename | less
fi

if [ "${filename##*.}" = "rtf" -o "${filename##*.}" = "ppt" ]; then
catdoc $filename | less -s
fi

if [ "${filename##*.}" = "xls" ]; then
xls2csv $filename | less
fi

if [ "${filename##*.}" = "xlsx" ]; then
python3 /usr/local/lib/python3/site-packages/xlsx2csv.py $filename | less
fi

if [ "${filename##*.}" = "txt" -o "${filename##*.}" = "md" ]; then
cat $filename | less
fi

 

В thunar'e создаем особое действие (Я назвал его "Просмотр файлов", команда такая:

xfce4-terminal -H -e "/home/ваша_папка/view.sh %f"

Очень удобно задать для просмотра горячую клавишу. Я остановился на варианте F3, как в NC.

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

docx2txt, odt2txt, antiword, catdoc, xlsx2csv (https://github.com/dilshod/xlsx2csv), xls2txt (ставится вместе с catdoc), html2text, pdftotext и w3m-img.

В условиях появления меню я задал все файлы (у меня *.*, но можно перечислить нужные вам типы файлов) и поставил галки на изображения, текстовые файлы и другие файлы. 

После создания пользовательского действия нужно перезапустить thunar. Теперь выбрав любой файл его можно посмотреть по F3.

Скорость просмотра очень высокая, для вывода файлов используется команда less, которая стоит в системе по умолчанию. Ее приятная особенность в том, что она позволяет не только загружать большие файлы, но и искать по ним (нажимаем / и сразу вводим строку поиска: /слово)

Скрипт xlsx2csv устанавливается от рута командой 

pip install xlsx2csv
В текущем виде просматриваются фаылй следующих видов:
odt, odp, ods, doc, docx, rtf, xls, xlsx, ppt, pdf (если есть текстовый слой), txt, md, html, png, jpg 
При желании скрипт можно допиливать для просмотра и других типов файлов. 


Комментариев нет:

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