国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

使用Bash Shell獲取文件名和目錄名的簡單方法

2019-10-26 18:46:30
字體:
來源:轉載
供稿:網友

前言
還是今天再寫一個自動化打包腳本,用到了從路徑名中獲取最后的文件名。這里記錄一下實現過程。當然,最后我也會給出官方的做法。(ps:很囧,實現完了才發現原來Bash Shell有現成的函數)

獲取文件名
假設給定的路徑名為:

 /tmp/csdn/zhengyi/test/zhengyi.txt 

awk解法
用“/”做分隔符,然后打印出最后的那一部分。實現代碼如下:

 resFile=`echo /tmp/csdn/zhengyi/test/adb.log | awk -F "/" '{print $NF}'` 

官方解法(basename)
Bash Shell本身提供了basename命令,可以直接獲取路徑名最后的文件名,實現代碼如下:

 resFile=`basename /tmp/csdn/zhengyi/test/adb.log` 


獲取目錄名
官方解法(dirname)
Bash Shell本身提供了dirname命令,特別方便,可以直接獲取路徑對應的目錄名,實現代碼如下:

 dirPath=`dirname /tmp/csdn/zhengyi/test/adb.log` 


awk解法
可以靈活的使用分隔符,混合正則表達式:

 dirPath=`echo /tmp/csdn/zhengyi/test/adb.log | awk -F '/[^/]*$' '{print $1}'` 


awk+for循環的方法:

 echo /tmp/csdn/zhengyi/test/adb.log | awk 'BEGIN{res=""; FS="/";}{ for(i=2;i<=NF-1;i++) res=(res"/"$i);} END{print res}' 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜章县| 遂宁市| 尼木县| 济阳县| 胶南市| 越西县| 绥江县| 丰县| 新巴尔虎右旗| 普洱| 和林格尔县| 镶黄旗| 故城县| 丰台区| 大邑县| 沁阳市| 定南县| 安泽县| 东乌| 安顺市| 阿克陶县| 衡山县| 玛曲县| 枣强县| 石台县| 南宁市| 都兰县| 温州市| 上饶县| 周口市| 新兴县| 文成县| 灌南县| 宁安市| 同仁县| 澜沧| 论坛| 银川市| 潼南县| 乃东县| 大埔县|