新聞中心
在Linux系統中,獲取文件名是一個非常常見的操作,無論是在命令行中還是在編寫腳本時,都有可能需要獲取文件名。下面將介紹幾種常見的獲取文件名的方法。

在成都做網站、網站建設中從網站色彩、結構布局、欄目設置、關鍵詞群組等細微處著手,突出企業(yè)的產品/服務/品牌,幫助企業(yè)鎖定精準用戶,提高在線咨詢和轉化,使成都網站營銷成為有效果、有回報的無錫營銷推廣。創(chuàng)新互聯公司專業(yè)成都網站建設10多年了,客戶滿意度97.8%,歡迎成都創(chuàng)新互聯客戶聯系。
一、使用basename命令
basename命令可以用來獲取路徑中的文件名,語法如下:
$ basename [path]
其中,[path]為文件路徑,可以是絕對路徑或相對路徑。如果不指定[path],則默認使用當前目錄。
例如,如果要獲取路徑為”/home/user/test.txt”的文件名,可以使用以下命令:
$ basename /home/user/test.txt
輸出結果為:
test.txt
如果要獲取當前目錄下名為”test.sh”的文件名,可以使用以下命令:
$ basename test.sh
輸出結果為:
test.sh
二、使用${var##*/}語法
${var##*/}語法可以用來獲取文件名,其中var是文件路徑變量。
例如,假設有一個文件路徑變量path為”/home/user/test.txt”,則可以使用以下語句獲取文件名:
$ echo ${path##*/}
輸出結果為:
test.txt
如果要獲取當前目錄下名為”test.sh”的文件名,可以使用以下語句:
$ echo ${PWD##*/}/test.sh
其中,${PWD##*/}表示當前目錄的文件名。
輸出結果為:
/Users/user/test.sh
三、使用cut命令
cut命令可以用來分割文本,因此也可以用來獲取文件名。例如,如果要獲取路徑為”/home/user/test.txt”的文件名,可以使用以下命令:
$ echo “/home/user/test.txt” | cut -d ‘/’ -f 4
其中,-d指定分隔符為”/”,-f指定輸出第4個字段(即文件名)。
輸出結果為:
test.txt
如果要獲取當前目錄下名為”test.sh”的文件名,可以使用以下命令:
$ echo $PWD/test.sh | cut -d ‘/’ -f 5
其中,$PWD表示當前目錄的路徑,-d指定分隔符為”/”,-f指定輸出第5個字段(即文件名)。
輸出結果為:
test.sh
綜上所述,通過使用basename命令、${var##*/}語法和cut命令,可以方便地獲取文件名。在實際工作中,可以根據實際需求選擇適合的方法,提高工作效率。
相關問題拓展閱讀:
- linux下按文件名和文件內容查找文件
- Linux批量提取文件名
- 如何用shell獲取linux目錄下的文件名
linux下按文件名和文件內容查找文件
在當前目錄下,查找所有內容包含‘abc’的文件
find . -type f | xargs grep -l ‘abc’
或
find . -type f -exec grep -l ‘abc’ {} \;
擴信鉛展資料:
linux查找文件命令find
根據部分文件名查找方法:
這個方法和在WINDOWS中查找已知的文件名方法是一樣的。不過在Linux中根據部分文件名查找文件的方法要比在WINDOWS中的同類查找方法要強大得多。
例如我們知道某個文件包含有srm這3個字母,那么要找到系統中所有包含有這3個字母的文件是可以實現的,輸入:
find /etc -name ‘*srm*’
這個命令表明了Linux系統將在/etc整個目錄中滑察好查找所有的包含有srm這3個字母的文件,比如 absrmyz, tibc.srm等等符合條件的文件都能顯示出來。如果你還知道這個文件是由srm 這3個字母打頭的,那么我們還可以省略最前面沒辯的星號,命令如下:
find/etc -name ‘srm*’
這是只有像srmyz 這樣的文件才被查找出來,象absrmyz或者 absrm這樣的文件都不符合要求,不被顯示,這樣查找文件的效率和可靠性就大大增強了。
Linux批量提取文件名
簡單的獲取耐讓文件名的話,可以輸入命令:ls,如果需要把整個老圓磁盤所有文件名字打出的話,需要寫個腳本,循環(huán)遞昌含局歸下。
如何用shell獲取linux目錄下的文件名
可能要用的awk
獲取所有常規(guī)文件的文件名并打印出來的腳本listfile.sh如下
#!/bin/bash
dir=”/*”
dir=$1$dir
for f in $dir
do
if
then
echo $f
fi
done
使用方法喚芹:
$ listfile.sh PATH
原理:
PATH參數是路徑棗滑,將路徑后加上“/*”,代表該目錄下的和巖畢所有文件和目錄名,利用for循環(huán)比較每個文件是否是常規(guī)文件( -f比較運算符),若if表達式為真則打印
舉例:
ls -l
total 36
-rwxrwxr-x 1 lipeng lipeng 48 Nov 29 20:08 aaa.sh
drwxrwxr-x 2 lipeng lipeng 4096 Maybyteorder
drwxrwxr-x 8 lipeng lipeng 4096 Mayhello
-rwxrwxr-x 1 lipeng lipeng 122 Nov 29 20:16 listfile.sh
-rw-rw-r– 1 lipeng lipeng 177 Aug 1 03:10 main.cpp
drwxrwxr-x 2 lipeng lipeng 4096 Sep 13 16:42 matrix
drwxrwxr-x 5 lipeng lipeng 4096 Aprmodbus
drwxrwxr-x 2 lipeng lipeng 4096 Sep 13 10:10 shtest
drwxrwxr-x 2 lipeng lipeng 4096 Sep 16 18:21 test
$ ./listfile.sh .
./aaa.sh
./listfile.sh
./main.cpp
ls -l
~~~~~~~~~~~~~~~~~~
關于linux獲取文件名的方法的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。
成都服務器托管選創(chuàng)新互聯,先上架開通再付費。
創(chuàng)新互聯(www.cdcxhl.com)專業(yè)-網站建設,軟件開發(fā)老牌服務商!微信小程序開發(fā),APP開發(fā),網站制作,網站營銷推廣服務眾多企業(yè)。電話:028-86922220
網站題目:Linux常見方法:獲取文件名 (linux獲取文件名的方法)
網站鏈接:http://www.dlmjj.cn/article/ccchsgo.html


咨詢
建站咨詢
