您好,登錄后才能下訂單哦!
這篇“Linux的basename命令怎么使用”文章的知識點大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Linux的basename命令怎么使用”文章吧。
basename命令只要是用于去除路徑和文件后綴部分的文件名或者目錄名,給basename指定一個路徑,basename命令會刪掉所有的前綴包括最后一個字符,然后將后綴的字符串顯示出來。
Centos7
在Centos7系統(tǒng)中,已經(jīng)默認安裝了basename
命令了,該命令包含在coreutils
安裝包里。
basename
有兩種語法:
basename NAME [SUFFIX] basename OPTION... NAME...
basename最后一部分。也可以刪除任何結(jié)尾的后綴。這是一個簡單的命令,最基本的是去掉文件明前面的目錄并打印出來:
[root@localhost ~]# basename /etc/yum.repos.d/CentOS-Base.repoCentOS-Base.repo
basename命令默認刪除所有結(jié)尾的/
字符:
[root@localhost ~]# basename /usr/local/local[root@localhost ~]# basename /usr/locallocal
默認情況下,每條輸出行以換行符(\n)結(jié)尾。要以NUL結(jié)尾,請使用-z(–zero)選項。
[root@localhost ~]# basename -z /usr/locallocal[root@localhost ~]#
basename命令可以接受多個名稱作為參數(shù)??梢允褂?a(–multiple)選項,然后使用空格分隔文件列表。例如,要獲取/etc/passwd和/etc/shadow的文件名,可以運行:
[root@localhost ~]# basename -a /etc/passwd /etc/shadowpasswd shadow
要從文件名中刪除任何結(jié)尾的后綴,請將后綴作為第二個參數(shù)傳遞:
[root@localhost ~]# basename /etc/hostname namehost 另一種方法: [root@localhost ~]# basename -s name /etc/hostnamehost
上面例子中,指定name為后綴,可以看到輸出結(jié)果中只顯示/
后面和name
前面的內(nèi)容了。
通常,此功能用于刪除文件的擴展名:
[root@localhost ~]# basename -s .conf /etc/httpd/conf/httpd.confhttpd 或者 [root@localhost ~]# basename /etc/httpd/conf/httpd.conf .confhttpd
下面例子,使用-a選項指定多個文件,-s選項指定后綴內(nèi)容:
[root@localhost ~]# basename -a -s .conf /etc/sysctl.conf /etc/httpd/conf/httpd.confsysctl httpd
刪除末尾后綴的另一種方法是使用-s(–suffix = SUFFIX)選項指定后綴。上面實例中以展現(xiàn)。
以下示例顯示了如何在bash腳本中使用for循環(huán)、mv命令和basename命令,通過將當前目錄下面的圖片文件,文件擴展名從“ .jpg”替換為“ .jpeg”:
[root@localhost test]# vim convert.sh#!/bin/bashfor file in *.jpgdo mv "$file" "$(basename $file .jpg).jpeg"done
以上就是關(guān)于“Linux的basename命令怎么使用”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。