看板 Linux 關於我們 聯絡資訊
大家好, 我的目錄底下有很多如下的檔名: \ \ 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)的結果) 也就是說檔名的空白變成分隔字元了? 我應該怎麼辦? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 128.97.69.135
garyzyg:find . -type f | while read FILE; do mv "$FILE" \ 09/30 07:49
garyzyg:"$(tr -d \ <<< $FILE )"; done 09/30 07:50
mystea:謝謝. 請問<<<是甚麼意思呢? 09/30 13:31
PHP5:<<< here string (man bash) 09/30 14:50