我透過命令列使用 FTP,遇到兩個問題。我無法重新命名或輸入資料夾,例如:
dir /home/folder1/Human (2012)
我試過:
cd ~/folder1/Human\ (2012)
在這裡我收到一條訊息說the folder does not exist
。
mv ~/folder1/Human\ (2012)
在這種情況下,我收到一條訊息:
syntaxfailure at (
我要怎麼解決這個問題?
答案1
您可以雙引號您的路徑:
cd ~/"folder1/Human (2012)"
或者您應該為(
,)
和(空格)提供轉義序列(因為這些是特殊字元):
cd ~/folder1/Human\ \(2012\)
和
mv ~/"folder1/Human (2012)"
使用轉義序列:
mv ~/folder1/Human\ \(2012\)
答案2
\
你對前面的空間有正確的想法。這適用於所有特殊字元——包括括號。在左括號前面加上一個反斜杠,在右括號前再加上一個反斜杠,這樣就可以了。
在這些情況下,製表符補全很有幫助...如果您開始輸入檔名,然後按Tab,它將自動補全檔名的其餘部分,並在必要時插入反斜線。 (如果您沒有輸入足夠的文件名來明確您指的是哪個文件,bash 仍會自動完成盡可能多的文件名。按兩次 Tab 鍵將顯示文件名可能完成的列表。)
答案3
我同意 snoop 的觀點,即執行此操作的方法是"
在指定文件或目錄時使用標記。
但是,如果有一大堆目錄需要重命名,您可以將rename
它們重新命名為更友善的名稱。重新命名的工作sed
原理與rename
重新命名檔案和目錄類似,但sed
通常用於編輯檔案的內容。這是一個例子:
rename 's/ //g;s/\(//g;s/\)//g' ~/folder1/*
因此,如果您有以下目錄~/folder1
:
Human (2012)
Human (2011)
Human (2010)
它們將被重新命名為:
Human2012
Human2011
Human2010
運行以下命令以獲取更多資訊:
man rename