Linux
重命名命令錯誤,文件不再顯示在 Windows 網路驅動器中
我用重命名命令犯了一個錯誤
find . -type f -exec rename 's/[^A-Za-z0-9._]//g' {} +
之後,文件不再像以前那樣位於其文件夾下,而且每個文件都有 . 在他們面前。現在我的客戶看不到文件了。一旦我刪除 . 然後他們可以看到文件。
我怎樣才能刪除 . 從文件中。像這樣:
.finacialyear2008half.doc
到
finacialyear2008half.doc
請幫我!我需要快速修復。
find . -type f -exec rename 's/\.//' '{}' \;
想想 rename 的 -n 參數:它只顯示刪除它後它會做什麼!
假設您使用的是 bash,您可以遍歷文件,替換目前文件夾中所有文件的文件名中第一次出現的
/.
with 。/
for filename in $(find . -maxdepth 1 -type f) do mv -v $filename ${filename/\/.//} done
這假設您不需要遞歸地重命名文件,並且只在目前目錄 (
-maxdepth 1
) 中工作。免責聲明:在對數據執行任何操作之前,請始終備份您的文件或至少嘗試使用一堆測試文件。