Shell學習五-分割文件和提取文件名擴展名

臨時文件命名與隨機數

mktemp工具

-dgoogle

-uspa

 

 

分割文件和數據 split只能根據文件大小和行數分割文件

將文件分割成20k大小的文件塊get

split -b 20k testsplit.fileit

指定文件前綴名io

split [COMMAND_ARGS] PREFIXtest

split -b 20k testsplit.file split_file隨機數

 

文件行數指定-l no_of_lines擴展

split -l 100000 testsplit.filefile

刪除臨時文件

find ./ -type f -name "split_file*" -print0 | xargs -0 rm -f

 

 

 

csplit是split工具的一個變體。split只可以根據數據大小或行數分割文件,而csplit

能夠根據文本自身的特色進行分割

 

 

切分文件名 名稱.擴展名

 

%操做符 提取名稱

操做符%使用.*從右向左執行非貪婪匹配(.txt)

 

操做符%%則用.*從右向左執行貪婪匹配(.fun.book.txt)

file_jpg="sample.jpg"

name=${file_jpg%.*}

echo File name is :$name

# 操做符 提取後綴

操做符#用*.從左向右執行非貪婪匹配(hack)。

extension=${file_jpg#*.}

echo Extension is: jpg

 

VAR=hack.fun.book.txt

echo ${VAR#*.}

例子定URL="www.google.com":

$ echo ${URL%.*} # 移除.*所匹配的最右邊的內容

www.google

$ echo ${URL%%.*} # 將從右邊開始一直匹配到最左邊的*.移除(貪婪操做符)

www

$ echo ${URL#*.} # 移除*.所匹配的最左邊的內容

google.com

$ echo ${URL##*.} # 將從左邊開始一直匹配到最右邊的*.移除(貪婪操做符)

com

相關文章
相關標籤/搜索