临时文件命名与随机数
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%.*} # 移除.*所匹配的最右边的内容
$ echo ${URL%%.*} # 将从右边开始一直匹配到最左边的*.移除(贪婪操作符)
www
$ echo ${URL#*.} # 移除*.所匹配的最左边的内容
google.com
$ echo ${URL##*.} # 将从左边开始一直匹配到最右边的*.移除(贪婪操作符)
com