1
4
为测试创建一个非常讨厌的文件名:
[编辑:
很可能我是故意的
这会在文件名中添加更多丑陋的字符。输出看起来有点不同。 ] 然后运行这个:
输出应该如下所示: --[./m'i;x&e"d u(p multi) lines' re;t]-- ./m\'i\;x\&e\"d\ u\(p\\nmulti\)\\nlines\'\\nand\\015ca\&rr\\015re\;t
这包括的压缩版本
帕斯卡·蒂凡特
第一次通过
要注意的一点是,正如你所知,
编辑:
另一种避免特殊字符的方法,这次不用
变量
|
2
2
以下代码段处理所有文件名(包括空格、引号、换行符等):
另请参见 BashFAQ . |
3
2
转义方法有一个相当严重的问题:需要什么转义取决于变量将要扩展的上下文,在通常情况下,没有转义可以工作。例如,如果你要做一些简单的事情,比如:
…它不会工作(ls查找4个文件:“a”、“b”、“c”和“d”),因为shell在单词拆分$files时不注意转义。你可以使用
这个
如果(正如您在问题中提到的)您有兴趣比较两个目录树,那么循环浏览其中一个目录树并不完全符合您的需求;最好将它们的内容放入数组中,如下所示:
(注意,Afaik
|
4
2
我发现了这个 How to escape file names in bash shell scripts 在google上我引用了以下内容:
也许你可以用它作为起点。 |
5
1
请注意
|
6
0
find命令有时在这种情况下有效:
例如 |
Adam Noack · 如何将转义字符串转换为相应单个字符的列表? 7 年前 |
vishnumanohar · 如何转义curl命令头中的特殊字符 7 年前 |
Johnny · 如何使用PHP通过JSON发送HTML元素? 7 年前 |
sapbucket · 如何处理具有大量转义的字符串? 7 年前 |
emile · python字符串。格式和无效转义 7 年前 |
Patric · 计算传递给PowerShell中函数的字符串内的变量 7 年前 |
Jack · 如何通过C将字符@“\”转换为转义字符串# 7 年前 |