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

相关文章
相关标签/搜索