BSDPORTAL.RU

На этом сайте обсуждаются вопросы использования ОС FreeBSD
 Портал  •  Статьи  •  Форум  •  Wiki  •  Поиск  •  FAQ  •  Обои  •   Официальная документация  •  Новые темы 

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Файл с апострофом в имени
СообщениеДобавлено: Чт 18 фев, 2021 7:07 pm 
Не в сети

Зарегистрирован: Чт 03 янв, 2008 3:16 pm
Сообщения: 202
Откуда: Москва
Привет тебе, All!

Волею судьбы надо из-под эхотага работать в консоли с виндовым сетевым диском. Подмонтирован он через smbfs. И вот на этом диске попадаются файлы с самыми причудливыми именами. Про пробелы молчу. То кавычки, то всякие умляуты французские, то апострофы. На последнем я просто зазимовал... Есть файл, который называется вот так: I'm a sharpener.mov. Я хотел было к нему обратиться (для начала — с помощью ls). Но как бы я ни изгалялся с экранированием, ни черта не получается. Для примера:
Код:
$ ls -l I\'m\ a\ sharpener.mov
ls: I'm a sharpener.mov: No such file or directory
$ ls -l 'I'"'"'m a sharpener.mov'
ls: I'm a sharpener.mov: No such file or directory

Уже голову сломал. Подскажите, пожалуйста, как правильно обратиться к файлу...

P.S. Фря 12.2-RELEASE, оболочка — bash версии 5.1.4(1)-release.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Файл с апострофом в имени
СообщениеДобавлено: Чт 18 фев, 2021 7:23 pm 
Не в сети
Модератор

Зарегистрирован: Сб 11 сен, 2004 6:33 am
Сообщения: 5332
Откуда: Москва
Экранирование в обоих случаях правильное, может на самом деле файл не так называется? Есть же куча пожих `´‘’‛′‵ʻʼʽʾʿˈˊˋ, или там пробел где лишний.
Можно обращаться в файлу по маске если нет пересечений, например *sharpener.mov
Если в баше работает автодополнение то после ls -l *sharpener.mov<tab> должно подставиться нормально экранированное имя файла.
Можно скопипастить имя из листинга внутрь двойных кавычек.
Можно взять mc, законец.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Файл с апострофом в имени
СообщениеДобавлено: Чт 18 фев, 2021 8:14 pm 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: Вт 10 авг, 2004 2:24 am
Сообщения: 3344
Откуда: Харьков
возможно апостроф в имени отличается от набираемого, поэтому и не работает

в zsh дополнение по TAB перебирает файлы по одному, а не просто показывает варианты
так-же можно настроить, чтобы выбирать в списке стрелочками нужное
zstyle ':completion:*' menu yes select

возможно в bash так-же настроить можно
вроде bash menu complete есть некий


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Файл с апострофом в имени
СообщениеДобавлено: Вс 21 фев, 2021 4:11 pm 
Не в сети

Зарегистрирован: Чт 14 май, 2009 6:56 pm
Сообщения: 830
Я бы попробовал `ls -l *sharpener.mov | hexdump` и `echo \' | hexdump`, чтобы сравнить код кавычек.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Зарегистрированные пользователи: Bing [Bot], Majestic-12 [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
Яндекс.Метрика