"ls -b" não funciona no macOS

"ls -b" não funciona no macOS

ls -bdeve imprimir os nomes dos arquivos com caracteres não imprimíveis, por exemplo, ex ex.txtdeve ser mostrado como ex\ ex.txt, mas isso não funciona no macOS, ainda é ex ex.txt. Alguém sabe a razão?

Responder1

A -bopção não épadronizado, portanto, seu comportamento depende da implementação.

Muitos sistemas Linux usam GNU ls por padrão; define a -bopção como

imprimir escapes no estilo C para caracteres não gráficos

e usa umimplementação de cotação elaborada. O caractere de espaço é um caractere não gráfico, portanto acaba sendo escapado.

No macOS, odefinição de-bé diferente:

-B Forçar a impressão de caracteres não imprimíveis (conforme definido porctype(3)e configurações de localidade atuais) em nomes de arquivos como \xxx, ondexxxé o valor numérico do caractere em octal.

-b Como-B, mas use códigos de escape C sempre que possível.

As ctypefunções (ou macros) consideram que o caractere de espaço pode ser impresso, portanto não pode ser escapado.

informação relacionada