很多时候,我们想把一个字符串分割为两个域,恰巧又是用的是shell脚本,这时候该怎么办呢?我起初的目的是设计一个gcc自动编译的shell脚本,让它可以自动编译c源文件,并且,我希望的结果是,例如abc.c编译出来的可执行文件是abc,那么我们就需要做到一个字符串分割的作用,我们在参数abc.c传进来的时候,我们需要把它划分为abc和.c,.c是为了区分它是否是个c文件,abc是我们要输出的文件名。
工具/原料
一台linux
方法/步骤
1
我们这里只做一个字符串的分割。首先touch新sh文件。
2
用vi或者vim打开它
3
#!/bin/bashTEMP='abc.c'LENGHT=${#TEMP} #得到长度 5位STR0=${TEMP:0:LENGHT-2} #得到abcSTR1=${TEMP:LENGHT-2} #得到.cecho $STR0echo $STR1
4
运行试试。可以看到,我们得到了abc和.c
6
事实上,${TEMP:LENGHT-2}也可以写成${TEMP:LENGHT-2:2}长度为0,来试试看?
7
这只是比较严谨的写法。
注意事项
如果你不会用#和%符号做分割的话,我建议还是用这种方法
上一篇:Excel用函数怎么拆分字符串?