Страница 1 из 1

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

Добавлено: 2021-02-18 18:08:43
Abyrvalg
Привет тебе, 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.

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

Добавлено: 2021-02-18 22:14:10
Demis
Попробуй так:

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

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"

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

Добавлено: 2021-02-26 9:18:46
Sadok123
100500 вариантов. давай попробуем с inode

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

$ ls -1 -i

64177 <bad_file_name_here>

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