请教个shell取字符串的问题,急

请教个shell取字符串的问题,急

要在一个文件夹下面读取一个文件(假设只有一个文件,文件名为:MDA_STA_20070607121311.dat),把这个文件名进行解析,取.号前面的字符(MDA_STA_20070607121311),进行tar操作,tar生成的文件叫(MDA_STA_20070607121311.tar),这个该怎么实现啊,急,拜托各位高手帮帮我啊,感激不尽      
例如:
[dell@scsm dell]$ echo $uu
adsdf.pdf
[dell@scsm dell]$ echo ${uu/.*/}
adsdf      
恩,可以,强烈感谢。
另外问下,我把echo那换成 :bb=${uu/.*/}
那么$bb 的值是不是就是那个了啊      
引用:
原帖由 star713 于 2007-8-22 17:16 发表
恩,可以,强烈感谢。
另外问下,我把echo那换成 :bb=${uu/.*/}
那么$bb 的值是不是就是那个了啊
you're right       
引用:
原帖由 TUDOU01 于 2007-8-22 16:57 发表
例如:
[dell@scsm dell]$ echo $uu
adsdf.pdf
[dell@scsm dell]$ echo ${uu/.*/}
adsdf
这个用法可能不太安全:
引用:
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[30959 0] ; v=foo.dat.bar.dat
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[30959 0] ; echo ${v/.*/}
foo
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[30959 0] ; echo ${v/.dat/}
foo.bar.dat
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[30959 0] ; echo ${v%.dat}
foo.dat.bar
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[30959 0] ; echo ${v%.*}
foo.dat.bar
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[30959 0] ; bye
      
还想问下,那样做的原理是什么啊      
无他, 唯语法尔       
不错!不错!应考虑周密一些!      
引用:
原帖由 star713 于 2007-8-22 17:57 发表
还想问下,那样做的原理是什么啊
参考链接:Shell Parameter Expansion