由句点(。)分隔的拆分文件名

时间:2012-09-25 20:24:19

标签: awk sh

我正在编写一个sh文件,其中var为:

c=aabbcc.DP.09-25-2012_14_17.dmp

我想只复制另一个var中的初始部分:

d = aabbcc

我应该如何修剪我的var?

3 个答案:

答案 0 :(得分:7)

如果sh代表bash,那么

d="${c%%.*}"

,否则

d="`echo "$d"|cut -d. -f1`"
也许会这样做。

答案 1 :(得分:5)

perl的:

D=`echo $c | perl -lne 's/([^\.]*)\..*/\1/;print'`

sed的:

D=`echo $c | sed 's/\([^\.]*\)\..*/\1/'`

AWK:

D=`echo $c | awk -F. '{print $1}'`

答案 2 :(得分:2)

expr命令与任何sh实现兼容,不需要管道

d=`expr $c : '\([^\.]*\)'`