Как выследить файл по сети?

С zsh,

setopt extendedglob
print -rl -- **/*.(#i)jpg(e{'[[ ! -e $REPLY:r.pdf ]]'})

Сообщил бы jpg файлы, которые не имеют соответствия pdf файл.

Если Вы хотите рассмотреть PDF и PdF файлы:

print -rl -- **/*.(#i)jpg(e{'f=($REPLY:r.(#i)pdf(N)); ((!$#f))'})

Конечно, вместо того, чтобы печатать их, Вы циклично выполняетесь по ним как:

for f (**/...) convert $f $f:r.pdf

:r дает корневое имя (который является без расширения) имени файла (csh наследие), (#i) включает нечувствительный к регистру globbing (когда extendedglob идет), e{some code} спецификатор globbing должен работать some code определить, должен ли файл быть globbed или нет.

Обратите внимание, что это пропустило бы скрытые файлы (те, имя которых запускается с точки). Добавьте D спецификатор globbing для добавления их назад.

5
11.12.2013, 14:44
4 ответа

Продолжайте пробовать смонтированным cifs. И просто используйте хвост со следующим параметром:

tail --retry --follow=name yourfile

Как это, хвост следует за именем файла не дескриптор, и объединенный с --retry это попробовало еще раз, даже если файл недоступен в течение некоторого времени.

8
27.01.2020, 20:35
  • 1
    Не работает. Не обновление. –  Bleeding Fingers 12.12.2013, 09:36

Это, кажется, ошибка в cifs модуль ядра. Могло случиться так, что это фиксируется в более новой версии ядра, чем Вы используете. Попробуйте directio смонтируйте параметр для хитрости ошибки (это могло понизить производительность файловой системы в большой степени).

Используя watch tail print.log могло также быть решение. Это отображает 10 последних строк файла каждые 2 секунды.

2
27.01.2020, 20:35

Кто-то протокол архаичен с набором прибавляемых расширения. Это не было разработано для обработки рабочего процесса, и никто не добавил поддержку его. или используйте взлом как - follow=name в хвосте гну или другом протоколе. Я был бы склонен сделать хвост на сервере и использовать netcat для сетевого транспорта, если сервер не является окнами, в этом случае я сделал бы некоторое тестирование или попытался бы найти другой сервер.

0
27.01.2020, 20:35

в моем случае Cache = None Параметр помогал.

Я горуми Windows Share с помощью этой команды:

sudo mount.cifs //IP_ADDRES/logs3 /tmp/logs3 -o user=user,password=pass,ro,nounix,iocharset=utf8,file_mode=0777,cache=none
0
27.01.2020, 20:35

Теги

Похожие вопросы