所以我试图输出一个文件列表,这些文件将通过管道传输到另一个命令中,但需要对空格进行转义。我已经走了这么远:
find ./ | grep ".mkv$" | awk '{ print "\"" $0 "\"" }'
它输出的内容如下:
"/dir/File One.mkv"
"/dir/File Two.mkv"
"/File Three blah blah.mkv"
但我需要它输出:
"/dir/File\ One.mkv"
"/dir/File\ Two.mkv"
"/File\ Three\ blah\ blah.mkv"
是否有一个简单的命令/正则表达式可以添加到我的命令中?
最佳答案
使用 sed 替换空格前的一些反斜杠
命令
find ./ | grep ".mkv$" | awk '{ print "\"" $0 "\"" }' | sed 's/ /\\ /g'
输出
"./dir/File\ Two.mkv"
"./dir/File\ One.mkv"
"./File\ Three\ blah\ blah.mkv"
关于bash - 在bash命令行输出中转义空格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33061601/