作者:
leweir (LeWeir)
2017-11-18 17:03:06OS: 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
作者:
ChakraLinux (GNU/Chakra Project)
2017-11-18 17:20:00Wiki:跳脫字元
作者:
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作者:
bitlife (BIT一生)
2017-11-18 20:45:00Windows Subsystem for Linux?
作者:
leweir (LeWeir)
2017-11-18 21:17:00回 ckclark 大大, 抱歉! 我因為副檔名打錯 導致你說的方法都回報錯誤 經過測試是可以的 ! 感謝您 !回 bitlife 我是使用 WIN_10 然後終端用 cmder !正確指令: "foo bar"*.tar
作者:
galic (嘎利)
2017-11-19 23:05:00cygwin下打 mv -v foo_bar*.tar /cygdrive/D/