Файл с апострофом в имени

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Abyrvalg
мл. сержант
Сообщения: 129
Зарегистрирован: 2009-03-04 10:24:44

Файл с апострофом в имени

Непрочитанное сообщение Abyrvalg » 2021-02-18 18:08:43

Привет тебе, 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.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

Файл с апострофом в имени

Непрочитанное сообщение Demis » 2021-02-18 22:14:10

Попробуй так:

Код: Выделить всё

ls -l "I\'m a sharpener.mov"
Т.е. вся фраза с пробелами в двойных кавычках, а перед апострофом экран \.
По крайней мере в sh и csh так срабатывает...
Если путь имеет пробелы, то так:

Код: Выделить всё

ls -l "my/super path/I\'m a sharpener.mov" 
или
ls -l my/"super path"/I\'"m a sharpener.mov"

Sadok123
сержант
Сообщения: 179
Зарегистрирован: 2008-09-04 10:59:32

Файл с апострофом в имени

Непрочитанное сообщение Sadok123 » 2021-02-26 9:18:46

100500 вариантов. давай попробуем с inode

Код: Выделить всё

$ ls -1 -i

64177 <bad_file_name_here>

$ find . -inum 64177 -exec ls -la  {} \;