Chinaunix

标题: 怎么从以下字符串中分离出日期呢 [打印本页]

作者: grass_ring    时间: 2008-09-05 20:13
标题: 怎么从以下字符串中分离出日期呢
现有字符串 XYZ_20080905001.txt
PS:在20080905的前面无数字,后面是数字或字母。怎么解析出20080905呢....
       我是菜鸟,谢谢各位大虾...
作者: ly5066113    时间: 2008-09-05 20:29
echo 'XYZ_20080905001.txt' | grep -Eo '[0-9]{8}'
作者: cuteorange    时间: 2008-09-05 21:52
原帖由 ly5066113 于 2008-9-5 20:29 发表
echo 'XYZ_20080905001.txt' | grep -Eo '[0-9]{8}'

#!/bin/bash
T="XYZ_20080905001.txt"
echo ${T:4:8}
作者: zhaopingzi    时间: 2008-09-05 22:51
echo 'XYZ_20080905001.txt' | grep -Eo [0-9]\+|cut -c1-8

[ 本帖最后由 zhaopingzi 于 2008-9-5 22:54 编辑 ]
作者: 无声无息    时间: 2008-09-05 22:53
标题: 回复 #4 zhaopingzi 的帖子
lz说前面没数字,并不代表前面没内容
作者: zhaopingzi    时间: 2008-09-05 22:55
请问LS的"listenpie蜂蜜小店,来自新西兰的天然产品"
这句话是如何加上去的?
作者: 无声无息    时间: 2008-09-05 23:18
标题: 回复 #6 zhaopingzi 的帖子
个性签名,欢迎光临哦
^_^
作者: 寂寞烈火    时间: 2008-09-06 00:02
echo ${str//[^0-9]}
作者: springwind426    时间: 2008-09-06 09:34

  1. echo 'XYZ_20080905001.txt' | sed 's/^[^0-9]*\([0-9]\{8\}\).*$/\1/'
复制代码

作者: grass_ring    时间: 2008-09-07 10:02
谢谢各位的解答...
作者: snake_blue    时间: 2008-09-08 11:15
来个麻烦的
echo  XYZ_20080905001.txt|awk -F '_' '{print $2}'|awk -F '.' '{print $1}'
作者: grass_ring    时间: 2008-09-08 17:54
原帖由 springwind426 于 2008-9-6 09:34 发表

echo 'XYZ_20080905001.txt' | sed 's/^[^0-9]*\([0-9]\{8\}\).*$/\1/'



这个得出了正确的答案...
不过还是谢谢各位..




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2