shell直接对字符串的切割

对文档切割日志需求比较多,对字符串切割需求较小,一时间没缓过神,简单的事儿复杂做了,以下比较简单的方法

代码进行输出:

#!/bin/bash
test=China_jolin_Tsai_Singer.mp3
 
num1=${test#*_} 
num2=${num1#*_} 
surname=${num2%_*} 
num4=${test##*_}
profession=${num4%.*}
 
echo $test
echo $num1
echo $num2
echo $surname
echo $num4
echo $profession

输出结果

test = China_jolin_Tsai_Singer.mp3
num1 = jolin_Tsai_Singer.mp3
num2 = Tsai_Singer.mp3
surname = Tsai
num4 = Singer.mp3
profession = Singer

说明:

#*_:    从左边开始,去第一个符号“_”左边的所有字符                                        

% _*:   从右边开始,去掉第一个符号“_”右边的所有字符

##*_:   从右边开始,去掉第一个符号“_”左边的所有字符

%%_*:  从左边开始,去掉第一个符号“_”右边的所有字符
原文地址:https://www.cnblogs.com/lzq70112/p/13138865.html