Подсчитать открытый epubs я использовал это:Lsof, оглавлению вывода
# - determine how many epubs are open -
NUMBER_OF_OPEN_EPUBS=0
while read -r LINE ; do
if [ "$(echo $LINE | rev | cut -c1-5 | rev)" = ".epub" ]; then
NUMBER_OF_OPEN_EPUBS="$(($NUMBER_OF_OPEN_EPUBS+1))"
fi
done < <(lsof | grep "\.epub")
# --- end determine how many epubs are open ---
и он всегда работал. Но я хотел распространить его на файлы fb2 (похожие на epubs), поэтому я получил fb2 для тестирования и не смог заставить его работать. Чтобы проиллюстрировать основную проблему в его простейшей форме:
С 2 файлов, /test.epub
& /test.fb2
открыт в fbreader
в раздельных окнах, в Баш, в lxterminal под Ubuntu 14.04 LTS и обычная Openbox
:
[email protected]:~$ lsof | grep "\.fb2" | tr -s " "
[email protected]:~$ lsof | grep "\.epub" | tr -s " "
fbreader 28982 me 12r REG 8,5 346340 8375 /test.epub
[email protected]:~$
Почему не lsof
посмотреть fb2
? В практическом плане, я полагаю, я мог бы использовать ps
, который не имеет никаких предрассудков в отношении fb2
файлов (и, кстати, доказывает, что grep
не виноват), но почему lsof
snub fb2
файлов?
================== P.S. Я отредактировал это, чтобы привести его в надлежащий контекст здесь, хотя, благодаря господину Хайде, он уже решен. Рассматриваемый вопрос отражает подразумеваемое и неисследованное предположение, которое оказывается ложным. См. Ответ.
Вы имели в виду '/ test.fb2' вместо'/test.fbw'? – Steven
Да. Oohhhh. Принял несколько взглядов, чтобы поймать, где вы имели в виду. Lesse, если я могу понять, как это изменить. –
@Steven. В самом деле, спасибо, что поймали это. Могу я дать вам коричневые точки для этого? Я исправил это и одну грамматическую ошибку. Кто-то предложил выделить имена файлов и программ, как и в вашем комментарии, поэтому я принял это, хотя мне интересно, почему это так. –