[问题] 如何使用 mv 指令处理多个档案

楼主: leweir (LeWeir)   2017-11-18 17:03:06
OS: WIN_10_x64
SHELL : Cmder
最近想学习使用 CLI 来取代 GUI
但是发现 mv 这个指令并没有办法使用 Regex 只能够使用 wildcard match.
不过呢 wildcard 好像只能够使用于 '不含有空白字符的档案'
mv -v foo_bar*.tar D:\
可以成功执行
但倘若 foo_bar 之间的定界符号是'空格'的话
mv -v "foo bar*.tar" D:\
就会回传
mv: cannot stat 'foo bar*.tar': No such file or directory
我还上网查询了一些资料
尝试了以下等效的指令 但仍然都是失败告终
mv -v "{foo bar}*.tar" D:\
mv -v "${foo bar}*.tar" D:\
mv -v -t D:\D\ `ls | grep -i
作者: chang505 (眼线)   2017-11-18 17:11:00
空格要用 \
作者: ChakraLinux (GNU/Chakra Project)   2017-11-18 17:20:00
Wiki:跳脱字符
楼主: leweir (LeWeir)   2017-11-18 17:27:00
感谢回答 我知道跳脱字符 但是是放在 双引号 里面吗?一样是回传错误 mv -v "foo\sbar*.tar" D:\D 一样是错误
作者: ckc1ark (伪物)   2017-11-18 17:36:00
*在双引号内就失去wildcard的作用了你可以试 "foo bar"*.tar 或是foo\ bar*.tar
楼主: leweir (LeWeir)   2017-11-18 17:53:00
回 ckclark 大大 一样是报错 是说 mv 这个指令没有完备性\ ,\s 这两者都无法在双括号内辨识成空格
作者: hijkxyzuw (i,j,k) ×(x,y,z)   2017-11-18 19:00:00
在 windows 里反斜线不是目录吗?不知道 cmder 怎么作
作者: ckc1ark (伪物)   2017-11-18 20:04:00
至少第一种可以 https://i.imgur.com/Lengp3O.png
作者: bitlife (BIT一生)   2017-11-18 20:45:00
Windows Subsystem for Linux?
楼主: leweir (LeWeir)   2017-11-18 21:17:00
回 ckclark 大大, 抱歉! 我因为副档名打错 导致你说的方法都回报错误 经过测试是可以的 ! 感谢您 !回 bitlife 我是使用 WIN_10 然后终端用 cmder !正确指令: "foo bar"*.tar
作者: newversion (海纳百川)   2017-11-19 17:16:00
windows 推廌cygwin
作者: galic (嘎利)   2017-11-19 23:05:00
cmder可以包cygwin terminal, https://tinyurl.com/zzvs6sk
作者: newversion (海纳百川)   2017-11-20 02:53:00
cygwin下打 mv -v foo_bar*.tar /cygdrive/D/

Links booklink

Contact Us: admin [ a t ] ucptt.com