我有很多子目錄的目錄與他們的#盈:Linux的批量重命名的目錄和帶#字符的名稱
#adhasdk
#ad18237
我要重命名所有這些,刪除#卡拉科特 我試着要做:
rename -n `s/#//g` *
但似乎沒有工作。
-bash: s/#//g: No such file or directory
對此的任何想法。 謝謝
我有很多子目錄的目錄與他們的#盈:Linux的批量重命名的目錄和帶#字符的名稱
#adhasdk
#ad18237
我要重命名所有這些,刪除#卡拉科特 我試着要做:
rename -n `s/#//g` *
但似乎沒有工作。
-bash: s/#//g: No such file or directory
對此的任何想法。 謝謝
只需使用
$ rename 's/^#//' *
使用-n只是爲了檢查你認爲它會發生真的發生。 在你比如你有關於在錯誤消息中使用的錯誤引號(反引號)
-bash: s/#//g: No such file or directory
慶典正試圖執行一個名爲s/#//g
命令的線索。
沒有使用g
(全局)並且不固定正則表達式,您將替換任何#
,而不僅僅是第一個位置中的那個。
問題是你使用反引號(`)。你應該用正常報價:
rename -n 's/#//g' *
我不知道它是否只是當你鍵入了這裏,但「重命名」命令應該工作,如果一個錯字別:
的‘-n’告訴它沒有真正做任何事情。後面的引號只是錯誤的(他們的意思是一些,但不是你想要的東西)。
for DIR in \#*/
do
echo mv "$DIR" "${DIR/#\#/}"
done
我不得不重命名給定文件夾內的所有文件夾。每個文件夾名稱在圓括號內都有一些文本。以下命令從所有文件夾名稱中刪除圓括號:
重命名's /(.+)//'*
+1爲錨點。方法如下:'s/^#//' –