Имеется в виду, когда автозаполнение имени файла в Linux заканчивается на «невидимый» «\»?

432
lampShadesDrifter

Иметь файл, который при просмотре в графическом проводнике или lsредакторе в терминале выглядит как «LLCP2015.ASC», но всякий раз, когда терминал автоматически завершает (через tab) команду, less LLCP2015.ASCкоторая на самом деле заканчивается, он выглядит как

"меньше LLCP2015.ASC \"
Обратите внимание на завершающий escape-символ и лишние пробелы (я говорю, что есть лишние пробелы, потому что именно в этом случае терминальная морковь заканчивается после автозаполнения). Я никогда не видел этого раньше, и мне любопытно, если кто-нибудь знает, что это такое, и если есть какие-то особые соображения, то при попытке сопоставить этот файл с globили regex? Благодарю.

Данный файл представляет собой общедоступные файлы данных, которые можно загрузить здесь (в разделе «Файлы данных / 2016 BRFSS Data (ASCII) [ZIP]»), и я используюcent os 7

0

1 ответ на вопрос

1
xenoid

Это просто означает, что имя вашего файла заканчивается пробелом. Попробуй это:

ls | wc -c 

Теперь посчитайте символы, которые вы видите, и сравните с указанным количеством (минус один, чтобы учесть добавленный перевод строки). Вы также можете использовать:

ls | hexdump -C  ls somefilespace.txt\ | hexdump -C 00000000 73 6f 6d 65 66 69 6c 65 73 70 61 63 65 2e 74 78 |somefilespace.tx| 00000010 74 20 0a |t .| 

Это 20завершающий пробел. Это 0aпросто LF, добавленный, lsа не часть имени файла,

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