好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Linux shell 之 提取文件名和目錄名的一些方法總結(jié)

Linux shell 之 提取文件名和目錄名的一些方法總結(jié)

熱門標簽:德陽400電話申請 智能電銷機器人有用嗎 外呼電話系統(tǒng)怎么操作 測繪地圖標注名稱 商機地圖標注 怎么在百度地圖標注公司的位置 百度地圖標注直線距離 鶴崗400電話申請 天津電話外呼系統(tǒng)排名

很多時候在使用Linux的shell時,我們都需要對文件名或目錄名進行處理,通常的操作是由路徑中提取出文件名,從路徑中提取出目錄名,提取文件后綴名等等。例如,從路徑/dir1/dir2/file.txt中提取也文件名file.txt,提取出目錄/dir1/dir2,提取出文件后綴txt等。

下面介紹兩種常用的方法來進行相關(guān)的操作。

一、使用${}

1、${var##*/}
該命令的作用是去掉變量var從左邊算起的最后一個'/'字符及其左邊的內(nèi)容,返回從左邊算起的最后一個'/'(不含該字符)的右邊的內(nèi)容。使用例子及結(jié)果如下:

從運行結(jié)果可以看到,使用該命令,可以提取出我們需要的文件名file.txt。

若使用時在shell程序文件中,可以使用變量來保存這個結(jié)果,再加以利用,如file=${var##*/}

2、${var##*.}

該命令的作用是去掉變量var從左邊算起的最后一個'.'字符及其左邊的內(nèi)容,返回從左邊算起的最后一個'.'(不含該字符)的右邊的內(nèi)容。使用例子及結(jié)果如下:

從運行結(jié)果可以看到,使用該命令,可以提取出我們需要的文件后綴。

如果文件的后綴不僅有一個,例如,file.tar.gz,命令${var##*.}僅能提取最后一個后綴,而我想提取tar.gz時該怎么辦?那么就要用下面所說的${var#*.}命令了。

3、${var#*.}

該命令的作用是去掉變量var從左邊算起的第一個'.'字符及其左邊的內(nèi)容,返回從左邊算起第一個'.'(不含該字符)的右邊部分的內(nèi)容。使用例子及結(jié)果如下:

從運行結(jié)果可以看到,使用該命令,可以提取出文件的多個后綴。

4、${var%/*}

該命令的使用是去掉變量var從右邊算起的第一個'/'字符及其右邊的內(nèi)容,返回從右邊算起的第一個'/'(不含該字符)的左邊的內(nèi)容。使用例子及結(jié)果如下:

從運行的結(jié)果可以看到,使用該命令,可以提取出我們需要的文件所在的目錄

5、${var%%.*}

該命令的使用是去掉變量var從右邊算起的最后一個'.'字符及其右邊的內(nèi)容,返回從右邊算起的最后一個'.'(不含該字符)的左邊的內(nèi)容。使用例子及結(jié)果如下:

當我們需要建立一個與文件名相同名字(沒有后綴)的目錄與對應(yīng)的文件相對應(yīng)時,就可以使用該命令來進行操作。例如,解壓文件的情況就與此類似,我們壓縮文件file.zip時,會在與file.zip同級目錄下建立一個名為file的目錄。

6、${}總結(jié)

其實${}并不是專門為提取文件名或目錄名的,它的使用是變量的提取和替換等等操作,它可以提取非常多的內(nèi)容,并不一定是上面五個例子中的'/'或'.'。也就是說,上面的使用方法只是它使用的一個特例。

看到上面的這些命令,可能會讓人感到非常難以理解和記憶,其實不然,它們都是有規(guī)律的。

#:表示從左邊算起第一個

%:表示從右邊算起第一個

##:表示從左邊算起最后一個

%%:表示從右邊算起最后一個

換句話來說,#總是表示左邊算起,%總是表示右邊算起。

*:表示要刪除的內(nèi)容,對于#和##的情況,它位于指定的字符(例子中的'/'和'.')的左邊,表于刪除指定字符及其左邊的內(nèi)容;對于%和%%的情況,它位于指定的字符(例子中的'/'和'.')的右邊,表示刪除指定字符及其右邊的內(nèi)容。這里的'*'的位置不能互換,即不能把*號放在#或##的右邊,反之亦然。

例如:${var%%x*}表示找出從右邊算起最后一個字符x,并刪除字符x及其右邊的字符。

看到這里,就可以知道,其實該命令的用途非常廣泛,上面只是指針文件名和目錄名的命名特性來進行提取的一些特例而已。

二、basename和dirname

${}并不是專門為提取文件名和目錄名設(shè)計的命令,那么basename和dirname命令就是專門為做這一件事而已準備的了。

1、basename

該命令的作用是從路徑中提取出文件名,使用方法為basename NAME [SUFFIX]。

1)從路徑中提出出文件名(帶后綴),例子如下:

2)從上面命令的用法中可以看到,后綴(SUFFIX)是一個可選項。所以,若只想提取出文件名file,而不帶有后綴,還可以在變量的后面加上后綴名,例子如下:

2、dirname

該命令的作用是從路徑中提取出目錄名,使用方法為 dirname NAME

使用例子如下:

這樣就提取出了file.txt文件所在的目錄。

注:該命令不僅能提取出普通文件所的目錄,它能提取出任何文件所在的目錄,例如目錄所在的目錄,如下:

它提取出了目錄dir2所在的目錄dir1.

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Linux shell 提取文件名和目錄名的方法

標簽:滁州 自貢 丹東 百色 鎮(zhèn)江 武漢 六盤水 優(yōu)質(zhì)小號

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Linux shell 之 提取文件名和目錄名的一些方法總結(jié)》,本文關(guān)鍵詞  Linux,shell,之,提取,文件名,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux shell 之 提取文件名和目錄名的一些方法總結(jié)》相關(guān)的同類信息!
  • 本頁收集關(guān)于Linux shell 之 提取文件名和目錄名的一些方法總結(jié)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 调教玩弄的清纯校花H| 亚洲影视一区二区| 老师好湿| 真人午夜a一级毛片免费| 免费人做人爱羞羞的网站视频 | 借种引狼入室娇妻被征服| 欧美AAAAAA一片色情A片| 绿帽子巨物夺娇妻借种| 奇优影院手机版免费高清app| 内射人妻无码色AB麻豆| 免费嗨片直播| 美女网站视频在线观看黄| 波多野结衣miaa165| 性生i活一级一片| 一女多男np辣文| 久久久香蕉视频| 国产无限免费观看黄网站| 农村妇女愉情伦理| 粉色视频在线看免费观看视频 | 高级会所女技师口爆视频| 色婷婷资源网| 小黄文男男| 亚洲偷窥女厕一区二区| 波多野结衣AV无码视频| 精品国产高清a毛片无毒不卡| 男主说话很污的h文| 九月婷婷综合婷婷| 极品白嫩丰满尤物| pron欧美| 男男跪下屁股扒开调教| 啊啊啊疼轻点| 蜜桃乐园H全肉辣文免费阅读| 按摩师侵犯人妻中文字幕| 精品国产97在线观看| 鲜肉老师免费观看免费| 荡公乱妇第1章小说阅读| 被色情系统肉到哭H| 女性私密图片| 三级黄视频| 啊好爽嗯用力h| 啊好深从后面狠狠撞进去|