Saturday, May 18, 2024
33
rated 0 times [  33] [ 0]  / answers: 1 / hits: 2633  / 2 Years ago, tue, april 19, 2022, 7:38:59

After a upgrade to 18.04, from 16.04, all file names with spaces shows as 'file name'. Previously it was simply file name. File names without space shows up normally:



$ ls
bar 'foo bar'


While it doesn't affect functionality in any way, I find this visually cluttering.



I use bash as shell.



How can I remove '' showing around file names with spaces?


More From » command-line

 Answers
2

This ls behavior change was from 2016 but is finally making it's way into Ubuntu.



To get back the old behavior use ls -N.



Optionally you can use an environmental variable:



QUOTING_STYLE=literal ls


Make it an alias, or set export QUOTING_STYLE=literal in your ~/.bashrc to achieve the old behavior.



You can read the link above for more details including the history of when, where, why and how this all came to be. There are quite a few comments under the author of ls changes where he justifies the new behavior:




A few points about the change.




  • It was introduced in coreutils v8.25, and alignment improved in v8.26

  • It only happens when outputting to terminals so doesn't break scripts

  • It disambiguates the output for users for files containing whitespace

  • It sanitizes output so it is safe to copy and paste

  • Output is now always valid to copy and paste back to shell

  • Users can get back to the old format by adding -N to their ls alias



[#6442] Wednesday, April 20, 2022, 2 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
iedncommon

Total Points: 200
Total Questions: 95
Total Answers: 132

Location: Tonga
Member since Mon, Aug 2, 2021
3 Years ago
;