大家好,
我的目錄底下有很多如下的檔名:
\ \ 1
\ \ 2
\ 10
\ 20
等等.
我想把他改成
1
2
10
20
請問有沒有什麼簡單的方法?
我目前的作法是
for FILE in $(find . -type f); do mv "$FILE $(echo $FILE | tr -d '\ ')"; done
但出現的結果是:
mv ./ ./
mv 1 1
而不是我想要的
mv ./\ \ 1 ./1
我猜測是因為$(find . -type f)裡裝的是
./ 1 ./ 10 ./ 2 ./ 20
(這是echo $(find . -type f)的結果)
也就是說檔名的空白變成分隔字元了?
我應該怎麼辦?
--
我的目錄底下有很多如下的檔名:
\ \ 1
\ \ 2
\ 10
\ 20
等等.
我想把他改成
1
2
10
20
請問有沒有什麼簡單的方法?
我目前的作法是
for FILE in $(find . -type f); do mv "$FILE $(echo $FILE | tr -d '\ ')"; done
但出現的結果是:
mv ./ ./
mv 1 1
而不是我想要的
mv ./\ \ 1 ./1
我猜測是因為$(find . -type f)裡裝的是
./ 1 ./ 10 ./ 2 ./ 20
(這是echo $(find . -type f)的結果)
也就是說檔名的空白變成分隔字元了?
我應該怎麼辦?
--
All Comments