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 -- "foo bar.*tar"
我知道解析 ls 不是一個好方法,但我還是想試試看能不能成功...
網路上查到的方法還有使用
find -exec
跟用 sh 的 for 疊代檔案名稱進去給 mv
但仍然想以比較直觀的方式來達成同樣的事情
想請問版上的高手能否解決這個問題
或者 ~ 有更簡單的方法或指令可以使用 !?
先在此謝謝各位回答的人
--
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 -- "foo bar.*tar"
我知道解析 ls 不是一個好方法,但我還是想試試看能不能成功...
網路上查到的方法還有使用
find -exec
跟用 sh 的 for 疊代檔案名稱進去給 mv
但仍然想以比較直觀的方式來達成同樣的事情
想請問版上的高手能否解決這個問題
或者 ~ 有更簡單的方法或指令可以使用 !?
先在此謝謝各位回答的人
--
All Comments