Shell是一種解釋性語言,在Unix/Linux/Mac OS X系統中被廣泛使用。它提供了許多可用於管理本地文件以及遠程計算機系統的命令。獲取文件名是Shell編程中一個常見的需求,下面將從多個方面詳細闡述Shell獲取文件名的相關操作。
一、獲取當前目錄下的所有文件名
$ ls file1.txt file2.txt file3.py script.sh
在Shell中可以使用「ls」命令獲取當前目錄下所有文件名。該命令會將目錄中的所有文件和子目錄都列出,以一行一個文件的形式顯示。如果需要將文件名存儲到一個變數中,可以使用以下代碼:
files=$(ls) echo $files
使用”$()”獲取「ls」命令的返回值,並將值存儲到變數「files」中。最後使用「echo」命令輸出該變數即可。
二、獲取文件名的擴展名
$ ls file1.txt file1.txt
擴展名是文件名中最後一個「.」字元後面的部分。在Shell中可以使用「basename」命令獲取文件名,然後使用「awk」命令獲取文件名的擴展名。
filename=$(basename /path/to/file.txt) extension=$(echo $filename | awk -F . '{print $NF}') echo $extension
使用「basename」命令獲取文件名並存儲到「filename」變數中。使用「awk」命令將變數值分割成多個部分,以「.」字元作為分隔符。最後輸出最後一個部分的值即為文件的擴展名。
三、獲取文件名的基本名稱
$ ls /path/to/file1.txt /path/to/file1.txt
基本名稱是文件名中最後一個「/」字元前面的部分。在Shell中可以使用「basename」命令獲取文件名,然後使用「dirname」命令獲取基本名稱。
filename=$(basename /path/to/file1.txt) basename=$(dirname /path/to/file1.txt) echo $basename
使用「basename」命令獲取文件名並存儲到「filename」變數中。使用「dirname」命令獲取文件的基本名稱並存儲到「basename」變數中。最後輸出該變數即可。
四、獲取文件名的路徑
$ ls /path/to/file1.txt /path/to/file1.txt
路徑是文件名中「/」字元前面的部分。在Shell中可以使用「dirname」命令獲取文件路徑。
path=$(dirname /path/to/file1.txt) echo $path
使用「dirname」命令獲取文件的路徑並存儲到「path」變數中。最後輸出該變數即可。
五、獲取文件名的長度
$ ls file1.txt file1.txt
文件名長度是字元數統計,也可以使用Shell命令獲取。
filename=$(basename /path/to/file1.txt) length=${#filename} echo $length
使用「basename」命令獲取文件名並存儲到「filename」變數中。使用「echo」命令和「#」符號計算變數中字元的個數。最後輸出該數值即可。
六、總結
Shell是一種非常靈活的編程語言,在文件名操作和管理方面,提供了許多有用的命令和技巧。在本文中,我們詳細介紹了獲取文件名、擴展名、基本名稱、路徑和長度的操作步驟和代碼示例。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/154771.html