Bash

刪除文件名中帶有特殊字元的目錄

  • January 16, 2018

我有這些棘手的目錄,我不知道如何刪除。如果我跑

ls -ld *

我得到…

drwxrwxr-x 7 user1 taskfmri 2048 Jan 22 15:26 857263

drwxrwx— 4 user2 taskfmri 2048 Jan 23 16:32 857263?

這些目錄中約有 50 個帶有“?” 在ls。不幸的是,’?不是字面上的?,而是終端無法顯示的一些特殊字元

刪除所有這些具有未知特殊字元的目錄而不刪除幾乎相同名稱的好目錄的最佳方法是什麼?

如果您的所有目錄的名稱都是由數字組成的,然後是一個特殊的字元(既不是數字也不是字母),您可以使用

find -maxdepth 1 -type d -regex "./[0-9]*[^0-9a-zA-Z]" -exec rm -r {} \;

我遇到了類似的問題,無法弄清楚如何./?d從 CLI 中刪除。

如果您已Vim安裝,它會附帶一個名為netrw.

  1. 您可以使用vim ./(打開目前目錄)打開目錄
  2. 使用updown箭頭將游標放在文件上。
  3. D(大寫d)刪除文件。
  4. y確認。

引用自:https://unix.stackexchange.com/questions/111880