比如说我有一个文件,名字叫 02_In_My_Place.mp3, 我想用sed语句,将头几个数字(肯能不止两位,但是连续的)提取出来,余下来的信息空格代替下划线(不要后缀),请问这个脚本如何去实现?
这个例子具体输出如下:
第一个输出 : 02
第二个输出 : In My Place
谢谢~~
请问这个脚本如何写
-
- 帖子: 2
- 注册时间: 2009-07-23 12:16
- HuntXu
- 帖子: 5776
- 注册时间: 2007-09-29 3:09
Re: 请问这个脚本如何写
代码: 全选
[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...
-
- 帖子: 1
- 注册时间: 2009-07-27 0:11
Re: 请问这个脚本如何写
echo $1 |cut -f 1 -d '.'|sed 's/_/ /g'|read aa bb
echo $aa
echo $bb
echo $aa
echo $bb
-
- 帖子: 45
- 注册时间: 2008-03-22 1:19
- 联系:
Re: 请问这个脚本如何写
楼主你看是不是这样:
例:
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里面。
例:
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里面。