字符串截取

856阅读 0评论2010-07-25 greendays
分类:


shell使用什么方法可以截取txt前面的字符串。
如:aa.bb.cc.dd.txt
我想要的效果是aa.bb.cc.dd


|  |  | 

var="aa.bb.cc.dd.txt"
echo ${var%.*}
__________________________________
天下风云出我辈 皇图霸业谈笑中


|  |  | 



QUOTE:
var="aa.bb.cc.dd.txt"
echo ${var%.*}
bbgg1983 发表于 2010-07-22 17:24 




能说明一下var%是什么意思吗?
这个需求能使用awk或是sed实现吗?


|  |  | 

  1. echo "aa.bb.cc.dd.txt"|sed -r 's/(.*)\..*/\1/'
复制代码
__________________________________
天下风云出我辈 皇图霸业谈笑中


|  |  | 

  1. echo "aa.bb.cc.dd.txt"|awk -F. '{NF--}1' OFS="."
复制代码
__________________________________
天下风云出我辈 皇图霸业谈笑中


|  |  | 

  1. [oracle@s12071 ~]$ echo "aa.bb.cc.dd.txt" | awk 'BEGIN{OFS=FS="."}{NF--}1'
  2. aa.bb.cc.dd
  3. [oracle@s12071 ~]$ echo "aa.bb.cc.dd.txt" | sed 's/\(.*\)\..*/\1/'
  4. aa.bb.cc.dd
  5. [oracle@s12071 ~]$
复制代码
__________________________________
|  (\_/)  This is Bunny. Copy and paste Bunny
| (='.'=) into your signature to help him gain
| (")_(") world domination.


|  |  | 


学习了!
上一篇:怎样用sed把每行的第二个字符到第六个字符替换成星号?
下一篇:AWK中的单引号问题