tft每日頭條

 > 科技

 > linux獲取文件行号

linux獲取文件行号

科技 更新时间:2024-11-19 20:37:48

Linux中,操作系統一般表示文件的方式是:

文件名.擴展名。

這裡介紹幾個符号:

%.* 從右向左非貪婪匹配,取匹配字符串最小值後删除。(适合取文件名,因為删除的内容最少)

%%.* 從右向左貪婪匹配,取匹配字符串最大值之後删除。

#*. 從左向右非貪婪匹配,取匹配字符串最小值後删除。

##*. 從左向右貪婪匹配,取匹配字符串最大值後删除。(适合取文件擴展名,因為删除的内容最長)

在Linux系統中,可以借助%操作符,把文件名稱部分從“文件名稱.擴展名” 格式的文件名提取出來。

比如:

filename="server.log"

name=${filename%.*}

echo file name is $name.

提取文件的擴展名,也就是後綴名可以借助#操作符實現。舉例如下:

filename="sample.jpg"

extension=${filename##*.}

echo file extension is $extension.

工作原理:

從文件名.擴展名這種格式的文件中提取名稱,使用了%的操作符。

${VAR%.*}的含義是:

從變量$VAR中删除位于%右側的通配符(.*)所匹配的字符串,通配符從右向左進行匹配。然後從$VAR中删除匹配結果,展示出輸出。

%屬于非貪婪操作,它從右到左找到匹配通配符的最短結果。%%的行為模式是貪婪匹配,它會匹配符合條件的最長的字符串。

${VAR#*.}的含義是:

從$VAR變量中删除位于#右側的通配符(*.)所匹配的字符串,通配符從左到右進行匹配。

#也有一個相對應的貪婪操作符##。

##從左到右進行貪婪匹配,并且從指定的變量中删除匹配結果。

操作符#用*.從左到右執行非貪婪匹配。

操作符##用*.從左到右執行貪婪匹配。##執行的是貪婪模式,因此總是能夠準确地提取出文件的擴展名,也就是後綴的文件格式。

linux獲取文件行号(Linux獲取文件名和擴展名)1

Linux分支

鼓勵的話語:人在一起,最重要的是相互理解和信任。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved