分割
使用制表符
OLDIFS=$IFS
IFS=$'\n'
array=($string)
.....
IFS=$OLDIFS
注:如果需要用\n当做分隔符的话 IFS应使用$’\n’ 而不是’\n’
使用awk
"1,2,,3" 分割成数组
arr=(`echo "1,2,,3" | awk '{
len=split($0,a,",");
for(i=1;i<len+1;i++){
val=a[i];
if(val == ""){
print "null";
}else{
print val
}
}
}'`)
截取
格式 | 说明 |
---|---|
${string: start :length} | 从 string 字符串的左边第 start 个字符开始,向右截取 length 个字符。 |
${string: start} | 从 string 字符串的左边第 start 个字符开始截取,直到最后。 |
${string: 0-start :length} | 从 string 字符串的右边第 start 个字符开始,向右截取 length 个字符。 |
${string: 0-start} | 从 string 字符串的右边第 start 个字符开始截取,直到最后。 |
${string#*chars} | 从 string 字符串第一次出现 *chars 的位置开始,截取 *chars 右边的所有字符。 |
${string##*chars} | 从 string 字符串最后一次出现 *chars 的位置开始,截取 *chars 右边的所有字符。 |
${string%*chars} | 从 string 字符串第一次出现 *chars 的位置开始,截取 *chars 左边的所有字符。 |
${string%%*chars} | 从 string 字符串最后一次出现 *chars 的位置开始,截取 *chars 左边的所有字符。 |