您好,登錄后才能下訂單哦!
在Shell腳本中提取文件名和擴展名的方法?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!
有時你可能需要在不同的變量中提取文件名和擴展名來完成bash shell編程中的任務。
以下是詳細的內容
1、獲取沒有路徑的文件名:
首先從輸入文件名中刪除完整的文件路徑。例如,如果文件名輸入為/etc/apache2/apache2.conf,則僅提取完整文件名為apache.conf.
#!/bin/bash fullfilename="/etc/apache2/apache2.conf" filename=$(basename "$fullfilename") echo $filename
2、沒有擴展名的文件名:
現在,從提取的不帶路徑的完整文件名中提取不帶擴展名的文件名,如下所示。
#!/bin/bash fullfilename="/etc/apache2/apache2.conf" filename=$(basename "$fullfilename") fname="${filename%.*}" echo $fname
3、沒有名稱的文件擴展名:
現在從提取的不帶路徑的完整文件名中提取不帶名稱的文件擴展名。
#!/bin/bash fullfilename="/etc/apache2/apache2.conf" filename=$(basename "$fullfilename") ext="${filename##*.}" echo $ext
4、測試:
最后在一個shell腳本中測試所有內容。使用以下內容創建新的腳本文件。在執行腳本期間,文件名將作為命令行參數傳遞。
#!/bin/bash fullfilename=$1 filename=$(basename "$fullfilename") fname="${filename%.*}" ext="${filename##*.}" echo "Input File: $fullfilename" echo "Filename without Path: $filename" echo "Filename without Extension: $fname" echo "File Extension without Name: $ext"
我們以文件名作為命令行參數來執行腳本。
$ ./script.sh /etc/apache2/apache2.conf Input File: /etc/apache2/apache2.conf Filename without Path: apache2.conf Filename without Extension: apache2 File Extension without Name: conf
感謝各位的閱讀!看完上述內容,你們對在Shell腳本中提取文件名和擴展名的方法大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。