当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 4 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 请问这个脚本如何写
帖子发表于 : 2009-07-24 12:53 

注册: 2009-07-23 12:16
帖子: 2
送出感谢: 0 次
接收感谢: 0 次
比如说我有一个文件,名字叫 02_In_My_Place.mp3, 我想用sed语句,将头几个数字(肯能不止两位,但是连续的)提取出来,余下来的信息空格代替下划线(不要后缀),请问这个脚本如何去实现?

这个例子具体输出如下:

第一个输出 : 02
第二个输出 : In My Place

谢谢~~


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 请问这个脚本如何写
帖子发表于 : 2009-07-24 13:56 
头像

注册: 2007-09-29 3:09
帖子: 5773
送出感谢: 0 次
接收感谢: 3
代码:
[hunt@psycho ~]$ O_< echo 02_In_My_Place.mp3|sed -r 's/([0-9]{2,})_/\1\n/;s/_/ /g;s/\..*?$//g'
02
In My Place


_________________
HUNT Unfortunately No Talent...


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 请问这个脚本如何写
帖子发表于 : 2009-07-27 0:13 

注册: 2009-07-27 0:11
帖子: 1
送出感谢: 0 次
接收感谢: 0 次
echo $1 |cut -f 1 -d '.'|sed 's/_/ /g'|read aa bb
echo $aa
echo $bb


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 请问这个脚本如何写
帖子发表于 : 2009-07-29 15:49 

注册: 2008-03-22 1:19
帖子: 45
送出感谢: 0 次
接收感谢: 0 次
楼主你看是不是这样:
例:
a="02_in_my_place"
b=`echo $a | cut -f1 -d"_"`
c=`echo $a | cut -f2,3,4 -d"_" | sed 's/_/ /g'`
echo $b
echo $c
如果你是要做循环的话:
while read line
do
b=`echo $line | cut -f1 -d"_"`
c=`echo $line | cut -f2,3,4 -d"_" | sed 's/_/ /g'`
echo $b
echo $c
done<filename.list
其中所有名字都放在filename.list里面。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 4 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译