在許多情況下,最好有 小寫的文件和目錄名稱。 一項一項重命名是一件非常辛苦的工作。 尤其是當有數百或數千個文件時,工作變得更加複雜並且難以手工傳遞。 但這並不意味著這是不可能的,或者沒有方法可以完全快速且自動化地做到這一點。
但除了純粹的審美或每個用戶的喜好之外,有時它還與技術問題有關,因為有些 應用程序無法使用某些大寫名稱 他們需要轉變。 當您遇到這些應用程序之一時,也許您已經積累了很長一段時間的各種名稱的文件,並且返回變得困難。 但不用擔心,正如我在本教程中向您展示的,有一個簡單的解決方案......
將大寫轉換為小寫
您應該知道的第一件事是 以下命令會將所有大寫字母轉換為小寫字母,包括該目錄中是否有子目錄。 因此,如果您不希望將它們全部轉換為小寫,請僅在特定目錄中執行此操作,否則它將把所有內容轉換為您。 這對我來說似乎很重要,這樣以後您就不會遇到問題,並且您不想轉換為小寫的名稱也會被轉換。
另一方面,你需要 安裝了重命名程序。 如果您尚未安裝它,請使用發行版的包管理器輕鬆安裝它。 但是,您通常應該安裝它,因此不需要在所有情況下都安裝它。 這個工具將幫助您能夠同時修改多個名稱,而不是使用典型的 mv 來一一修改名稱...
在開始工作之前,您需要了解的另一件事是,如果在從大寫轉換為小寫時遇到相同的名稱,那麼它將不會被轉換。 你已經知道 Linux 有 區分大小寫 在你的 FS 中,所以它區分大小寫。 這意味著如果您有一個名為 Hello2 和 HELLO2 的文件,系統會區分它們。 但是,當然......,當更改為小寫時,兩者都將被稱為 hello2,這是不可能的。 因此,它會拋出錯誤消息並且不會對其進行轉換。
之後,您就掌握了需要了解的所有內容,我們可以開始將名稱從大寫轉換為小寫。 他 通用命令 將如下所示,您可以修改它以指向您想要的任何目錄:
<br data-mce-bogus="1"> <em>find <nombre_directorio> -depth | xargs -n 1 rename -v 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;</em>
Debes先生 代替 通過要更改為小寫的目錄名稱或目錄路徑。 例如,就像我在圖像中向您展示的示例一樣,它是“測試”,但也可以是任何其他示例。 對於新手來說,我所說的路徑是指路徑,當它不直接位於您當前所在的目錄內時。 例如,如果您位於 ~/ 但想要對 /home/username/Downloads 進行操作。
將其轉換為腳本
為了方便 大小寫轉換,可以創建一個腳本 為您完成此操作,您不必每次需要轉換時都輸入上述命令。 這對於那些經常傳遞名字的人來說非常有用。 另外,如果將其放入 $PATH 環境變量的路徑之一中,則只需調用其名稱即可執行它,而不必將其放在您正在工作的同一目錄中或指定完整路徑...
很多 創建轉換器腳本必須遵循的步驟 聲音:
- 首先是 進入/bin目錄 將腳本包含在那裡,然後像任何其他命令一樣使用它,只需從終端調用其名稱即可。
<br data-mce-bogus="1"> cd ~/bin<br data-mce-bogus="1">
- 然後 用納米創造,或者使用您最喜歡的文本編輯器,帶有腳本的文件並根據您的喜好命名。 我將其稱為“mayutonu”:
sudo nano mayutominu.sh
- 在 nano 中,您必須粘貼以下文本 該腳本的代碼 來自bash:
</pre><pre>#!/bin/bash if [ -z $1 ];then echo "Uso :$(basename $0) parent-directory" exit 1 fi all="$(find $1 -depth)" for name in ${all}; do new_name="$(dirname "${name}")/$(basename "${name}" | tr '[A-Z]' '[a-z]')" if [ "${name}" != "${new_name}" ]; then [ ! -e "${new_name}" ] && mv -T "${name}" "${new_name}"; echo "${name} was renamed to ${new_name}" || echo "${name} wasn't renamed!" fi done exit 0</pre><pre>
- 現在 保存文件 使用組合鍵 Ctrl+O 並使用 Ctrl+X 退出。 您已經使用該腳本創建了 mayutonu.sh 文件,以下是 賦予權限 執行情況:
sudo chmod +x mayutominu.sh
- 你終於明白了 準備使用。 它是如何完成的? 好吧,繼續上一節中的相同示例,如果您想將 Test 目錄的名稱從大寫更改為小寫,您可以執行以下操作:
mayutominu Prueba
- 你知道,如果你需要指定 完整路線或路徑, 如果目錄不在當前位置,您也可以。 例如:
mayutominu /home/usuario/Descargas
希望對您有所幫助,有任何疑問或建議, 你可以留下你的評論...
在 debian 中它告訴我:
-bash:意外標記“換行符附近的語法錯誤”
尋找-深度| xargs -n 2 重命名 -v 's/(.*)\/([^\/]*)/$1\/\L$1/' {} \;