Shell学习五-分割文件和提取文件名扩展名

橙三吉。 提交于 2019-12-07 00:19:39

临时文件命名与随机数

mktemp

-d

-u

 

 

分割文件和数据 split只能根据文件大小和行数分割文件

将文件分割成20k大小的文件块

split -b 20k testsplit.file

指定文件前缀名

split [COMMAND_ARGS] PREFIX

split -b 20k testsplit.file split_file

 

文件行数指定-l no_of_lines

split -l 100000 testsplit.file

删除临时文件

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

 

 

 

 

 

 

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!