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-hant/n/154771.html