我将使用ls输出进行管道输入,因此我需要转义文件名。当我使用GNU ls
时,它运作良好。什么是BSD ls
中的等价物?我希望输出是这样的。
$ gls --quoting-style escape t*1
text\ 1 text1
答案 0 :(得分:1)
为什么/您是否尝试在管道中使用ls
?您可能应该使用find
(可能使用-print0
和xargs -0
,或-exec
)。
我想您可以使用ls -1f
,然后通过vis
(或某些类似的过滤器)运行输出,并使用一些适当的选项添加必要的引用或转义您的选择,但不知道您是什么正在向ls
提供文件名以及您想要使用的其他选项(如果有的话),这是不可能提供更好的指导。
答案 1 :(得分:0)
从freebsd man page on ls
开始没有这样的选项,但是,您可以尝试-m
,它会为您提供以逗号分隔的流式输出:
-m Stream output format; list files across the page, separated by
commas.
我在osx上尝试了它,它给了我:
$ ls -m
Hello World, Hello World.txt, foo.txt
从脚本解析起来要容易得多。