2012-09-25 111 views
3

我書面方式sh的文件,在那裏我有VAR爲():分割文件名由期分隔

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

我想只有起始部分在另一個變種複製這樣的:

d = aabbcc 

我應該如何修剪我的var?

回答

6

如果sh你的意思是bash,然後

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

否則

d="`echo "$d"|cut -d. -f1`" 

會做,也許。

+0

不,我很抱歉,我正在使用Shell腳本。 (.sh)你能幫助我,請提前致謝。 – Maulzey

+0

我知道這是一個shell腳本,問題是你正在使用的shell。試試這兩種解決方案,看看它是否有效。 –

+0

工作!真棒! – Maulzey

4

的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

expr命令是任何SH實現兼容,不需要管

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