Что означает эта команда sed?

Временный взлом.

Я столкнулся с той же ошибкой при монтировании из командной строки.

sudo mount -t cifs //ls2/jc /mnt/ls2 -o username=jc

Я не получал сообщение об ошибке « Хост недоступен », пока не попытался получить доступ к обоим общий каталог /mnt/ls2 И /mnt.

ls /mnt/ls2

ls /mnt

Затем я размонтировал общий ресурс sudo umount /mnt/ls2, затем перемонтировал его с помощью той же команды, что и раньше sudo mount -t cifs //ls2/jc /mnt/ls2 -o username=jc.

Все заработало.

Важное примечание:

Общий ресурс в //ls2/jc — это не на коробке Microsoft, а на сервере Ubuntu 14 обновлена ​​текущая работающая smbd версии 4.3 .11-Убунту . и uname -a вывод:

Linux ls2 4.4.0-75-generic #96~14.04.1-Ubuntu SMP Thu Apr 20 11:06:56 UTC 2017 i686 i686 i686 GNU/Linux

Клиент, где выполняется команда монтирования uname -a вывод:

Linux tec3 4.4.0-75-generic #96~14.04.1-Ubuntu SMP Thu Apr 20 11:06:30 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Версия монтирования клиента:

монтирование из util-linux 2.20.1 (с поддержкой libblkid и selinux)

0
02.05.2017, 19:20
1 ответ

Предполагая, что контекст

some-command | sed 's/ /':'/' | sed 's/ /-/' > file.list

Давайте разберем его по частям. Предположим, например, что some-command — это echo 'проверка команды'.

Затем sed 's/ /':'/' заменяет первый пробел на :.

проверка команды проверка: команды

После этого sed 's/ /-/' заменяет новый первый пробел на -

test:of-commandtest:of-the-command

Это преобразование применяется к каждой строке вывода some-command.


Как упоминал @Philippos в комментариях, непонятно, почему : здесь не цитируется. Было бы лучше, как

some-command | sed 's/ /:/' | sed 's/ /-/' > file.list

Но sed не ограничивается одной заменой на экземпляр. Так что даже лучше

some-command | sed 's/ /:/; s/ /-/' > file.list
5
28.01.2020, 02:16

Теги

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