[linux] 如何批量复制文件名中有$符号的文件

2016-05-11 17:02:17 +08:00
 Martin9

有个 file_list 文件,里面写了需要复制的文件名, 使用 while read line 会自动忽略$符号, 求助下各位,谢谢

4679 次点击
所在节点    Linux
11 条回复
fish47
2016-05-11 17:10:04 +08:00
用 xargs -d SEP 不就好了?再不行就用 python 呗。
dixyes
2016-05-11 17:12:34 +08:00
木有转义?\$之类的?
Martin9
2016-05-11 17:15:09 +08:00
@fish47 不能用 python,只能用 shell
Martin9
2016-05-11 17:16:29 +08:00
@dixyes read line 的时候$line 这个变量读文件名的时候会忽略$,
SpicyCat
2016-05-11 17:37:02 +08:00
McContax
2016-05-11 17:38:15 +08:00
shell 脚本即可
ilotuo
2016-05-11 19:03:18 +08:00
试下单引号
其内部所有的 shell 元字符、通配符都会被关掉。注意,硬转义中不允许出现’(单引号)。
ilotuo
2016-05-11 19:04:04 +08:00
^_^[18:35:48]develop$ touch '$tetst'
^_^[19:06:27]develop$ ls '$tetst'
$tetst
^_^[19:06:34]develop$ rm '$tetst'
cxbig
2016-05-11 19:54:47 +08:00
转义\$

整个文件名加引号
Martin9
2016-05-11 20:34:49 +08:00
@SpicyCat 多谢
Martin9
2016-05-11 20:35:46 +08:00
@cxbig 想批量做, 5 楼这样的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/277950

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX