Полезный пример ls -b, --escape

Я новичок в Ubuntu, и я изучаю аргументы ls.

Я тестировал аргументы -b, --escape (print C-style escapes for nongraphic characters), но я не нашел полезного примера того, как его использовать.

Я создал файл с именем \*\?\¿\º\ª\?\¿\&\%\$\·SpecialCharacterfile.txt, используя touch, но когда я использую ls или ls -b, он перечисляет то же самое.

*?¿ºª?¿&%$·SpecialCharacterfile.txt

Я использую Ubuntu 14.04.5 LTS

1
задан 5 March 2017 в 14:35

3 ответа

Пример: я нашел себя

$ touch "Hello This is my file"
$ ls
Hello This is my file

С опцией -b

$ ls -b
Hello\ This\ is\ my\ file

Не второй лучше, когда я хочу использовать вывод где-то еще в моем код?

4
ответ дан 23 May 2018 в 00:55

Способ создания файлов был, вероятно, путем непосредственного вставки теста. Для создания файлов с обратными слэшами вы должны использовать тип цитирования $'...'.

Таким образом, создание файлов должно быть:

$ touch one$'\n'two  three$'\t'four

И ls -b покажет нам их представление :

$ ls -b                                                    
one\ntwo  three\tfour

Пока значение по умолчанию ls не будет:

$ ls
one?two  three?four

Обратите внимание, что наличие обратных следов в файлах может привести к поломке ваших скриптов, поэтому никогда не следует разбирать ls. И именно главная цель для ls -b - посмотреть, какие имена файлов и, возможно, устранить их.

4
ответ дан 23 May 2018 в 00:55
  • 1
    +1 для явного объяснения того, как создавать файлы с неграфическими символами – Zanna 5 March 2017 в 14:30

В дополнение к ответу muru, в котором объясняется, что ни один из символов в вашем имени не является графическим, я укажу, что ваше имя файла фактически не содержит обратных косых черт (оболочка удаляет их при выполнении команды, конечно)

Если бы это произошло, -b заставил бы их печатать с экранами:

$ touch 'hi\(zanna' hi\(zanna
$ ls
hi(zanna  hi\(zanna
$ ls -b
hi(zanna  hi\\(zanna
4
ответ дан 23 May 2018 в 00:55
  • 1
    Да, и поэтому цитирование важно в оболочке. Необременимые переменные / строки подвержены расширению оболочки и удалению обратного слэша. – Sergiy Kolodyazhnyy 5 March 2017 в 14:28

Другие вопросы по тегам:

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