Вы можете подойти к этому с помощью редактора sed
следующим образом:
$ sed -e '
y/./\n/
s/\n\(.*\)\n/.\1./
y/\n/,/
' input.txt
Предпосылка состоит в том, что мы сначала превращаем все точки в символы новой строки, а символ гарантированно отсутствует в пространстве шаблонов. Затем мы меняем последнюю и первую новую строку обратно на точки. Все остальные символы новой строки преобразуются в запятые.
ХТН.
Вы также можете рассмотреть серверную часть, мы знаем, что это общий ресурс Windows, но не более того, было бы полезно узнать версию Windows и SMB, которые используются в этом конкретном случае. Конфигурация сервера может иметь большое значение, особенно если ОС Windows не используется в качестве клиента. Вы знаете, с тех пор, как появились общие ресурсы Windows, это была игра в кошки-мышки, когда Samba и другие команды гонялись за изменениями, реализованными Microsoft, поскольку это закрытая система, они вовсе не обязаны раскрывать новые Особенности.
What are the differences between the ways how smbclient and mount.cifs access a Windows share?
smbclient предназначался для использования в качестве утилиты командной строки для доступа к сетевым ресурсам, mount.cifs обычно используется пользователем root, вызывается командой mount при использовании файловой системы типа cifs, при использовании в /etc/ fstab используется для постоянного доступа к файловой системе.
Из справочной страницы Основное отличие может состоять в том, что mount.cifs полностью игнорирует smb.conf
samba client tools like smbclient(8) honour client-side configuration parameters present in smb.conf. Unlike those client tools, mount.cifs ignores smb.conf completely.
smbclient — это старая реализация старого протокола, SMB был заменен на CIFS, предположительно, у cifs есть соображения для более новой реализации.
Таким образом, может быть хорошей идеей использовать последнюю реализацию протокола, но вы должны проверить, какая из этих реализаций лучше работает с доступной версией сервера.
How can mount.cifs be made to behave like smbclient?
Поскольку mount.cifs игнорирует файл smb.conf, все настройки такого файла должны быть выражены в вызывающей команде, скажем, в соответствующей строке в /etc/fstab. Например, вы уже рассматриваете опцию-U username , используемую в smbclient, но в smb.conf есть и другие конфигурации, которые вы можете проверить. В частности, конфигурация журнала, в которую могут быть записаны сообщения об ошибках, должна быть такой: один из файлов fstab, а не файл smb.conf, проверьте dmesg, /var/log/boot, /var/log/messeges
.