將文件名的大寫轉換為小寫

嘗試查找(Linux命令)

在許多情況下,最好有 小寫的文件和目錄名稱。 一項一項重命名是一件非常辛苦的工作。 尤其是當有數百或數千個文件時,工作變得更加複雜並且難以手工傳遞。 但這並不意味著這是不可能的,或者沒有方法可以完全快速且自動化地做到這一點。

但除了純粹的審美或每個用戶的喜好之外,有時它還與技術問題有關,因為有些 應用程序無法使用某些大寫名稱 他們需要轉變。 當您遇到這些應用程序之一時,也許您已經積累了很長一段時間的各種名稱的文件,並且返回變得困難。 但不用擔心,正如我在本教程中向您展示的,有一個簡單的解決方案......

將大寫轉換為小寫

將大寫字母更改為小寫字母的命令

您應該知道的第一件事是 以下命令會將所有大寫字母轉換為小寫字母,包括該目錄中是否有子目錄。 因此,如果您不希望將它們全部轉換為小寫,請僅在特定目錄中執行此操作,否則它將把所有內容轉換為您。 這對我來說似乎很重要,這樣以後您就不會遇到問題,並且您不想轉換為小寫的名稱也會被轉換。

另一方面,你需要 安裝了重命名程序。 如果您尚未安裝它,請使用發行版的包管理器輕鬆安裝它。 但是,您通常應該安裝它,因此不需要在所有情況下都安裝它。 這個工具將幫助您能夠同時修改多個名稱,而不是使用典型的 mv 來一一修改名稱...

在開始工作之前,您需要了解的另一件事是,如果在從大寫轉換為小寫時遇到相同的名稱,那麼它將不會被轉換。 你已經知道 Linux 有 區分大小寫 在你的 FS 中,所以它區分大小寫。 這意味著如果您有一個名為 Hello2 和 HELLO2 的文件,系統會區分它們。 但是,當然......,當更改為小寫時,兩者都將被稱為 hello2,這是不可能的。 因此,它會拋出錯誤消息並且不會對其進行轉換。

之後,您就掌握了需要了解的所有內容,我們可以開始將名稱從大寫轉換為小寫。 他 通用命令 將如下所示,您可以修改它以指向您想要的任何目錄:

<br data-mce-bogus="1">

<em>find &lt;nombre_directorio&gt; -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}" ] &amp;&amp; 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

希望對您有所幫助,有任何疑問或建議, 你可以留下你的評論...


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責資料:AB Internet Networks 2008 SL
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   yo 他說:

    在 debian 中它告訴我:
    -bash:意外標記“換行符附近的語法錯誤”

    尋找-深度| xargs -n 2 重命名 -v 's/(.*)\/([^\/]*)/$1\/\L$1/' {} \;