Linux下除去檔案的名稱中的空格字元

2021-08-31 14:16:15 字數 1235 閱讀 2588

文章摘要: 在linux檔案系統中,一般來說我們可以用以下方法來遍歷某個目錄下的檔案。 for file in $(ls *); do echo $ done 但是,由於for語句是按照單詞為單位(即空格)進行分割的,因此,當檔名稱中有空格的時候,就會出現乙個檔名被分成兩個或者多個檔案來讀的情況。比如,當前目錄下有下面幾個檔案: a.txt b.txt 「c .txt」 上面的指令碼執行的結果就變成 a.txt b.txt c .txt 了。 遇到這種情況怎麼辦?其實我們我可以用while語句

在linux檔案系統中,一般來說我們可以用以下方法來遍歷某個目錄下的檔案。

for file in $(ls *); do

echo $

done

但是,由於for語句是按照單詞為單位(即空格)進行分割的,因此,當檔名稱中有空格的時候,就會出現乙個檔名被分成兩個或者多個檔案來讀的情況。比如,當前目錄下有下面幾個檔案:

a.txt b.txt 「c .txt」

上面的指令碼執行的結果就變成

a.txt

b.txt

c.txt

了。遇到這種情況怎麼辦?其實我們我可以用while語句加上read命令來輕鬆實現。

ls * | while read file; do

echo $

done

即先把每個檔案的名稱讀取到變數file中,然後再輸出到螢幕上。

實現了遍歷檔名帶有空格的檔案之後,我們所要做的就是修改檔名,除去檔名中的空格。用tr命令來實現。

echo $ | tr -d 『 『

將該結果儲存到變數new_file_name中,再用mv命令來重新命名檔案。

mv 「$」 $

注:由於檔名中可能有空格,所以必須用引號將檔名引起來。

整個指令碼如下:

ls * | while read file; do

old_file_name=$

new_file_name=`echo $ | tr -d ' '`

mv "$" "$"

done

完。

Linux中刪除特殊名稱檔案的多種方式

今日分享 我們在肉體的疾病方面花了不少錢,精神的病害方面卻沒有花什麼,現在已經到了時候,我們應該有不平凡的學校。瓦爾登湖 我們都知道,在linux刪除乙個檔案可以使用rm命令,但是有一些特殊名稱的檔案使用普通的rm方式卻沒法刪除,本文介紹linux中刪除特殊名稱檔案的多種方式。在介紹之前,簡單說明一...

Linux中刪除特殊名稱檔案的多種方式

今日分享 我們在肉體的疾病方面花了不少錢,精神的病害方面卻沒有花什麼,現在已經到了時候,我們應該有不平凡的學校。瓦爾登湖 我們都知道,在linux刪除乙個檔案可以使用rm命令,但是有一些特殊名稱的檔案使用普通的rm方式卻沒法刪除,本文介紹linux中刪除特殊名稱檔案的多種方式。在介紹之前,簡單說明一...

Linux中刪除特殊名稱檔案的多種方式

我們都知道,在linux刪除乙個檔案可以使用rm命令,但是有一些特殊名稱的檔案使用普通的rm方式卻沒法刪除,本文介紹linux中刪除特殊名稱檔案的多種方式。在介紹之前,簡單說明一下linux中檔案命名規則。檔案或目錄名由除 和空字元 0 之外的任意ascii字串行組成。當然很多作業系統允許更多型別的...