![]() |
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命令有时在这种情况下有效:
例如 |
![]() |
Lanz Joshua · 如何在PHP中从文件名中获取特定单词? 7 年前 |
![]() |
arc95 · 获取名称首字母相同的所有文件或图像 7 年前 |
![]() |
Luca Ricci · Grunt文件名作为变量 7 年前 |
![]() |
MakkaCha · 使用批处理脚本从文件名中删除日期 7 年前 |
![]() |
XtremeBaumer · FilenameFilter产生神秘结果 7 年前 |
![]() |
JKU · vimrc文件中的“%:r”是什么? 7 年前 |