怎么把文件名的后缀去掉?例如abc.cde.txt留下abc

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
kinzess
帖子: 319
注册时间: 2007-04-11 10:39

怎么把文件名的后缀去掉?例如abc.cde.txt留下abc

#1

帖子 kinzess » 2008-07-19 15:12

rt。。
谢谢
头像
daf3707
论坛版主
帖子: 12731
注册时间: 2007-06-13 15:57
来自: 在他乡

#2

帖子 daf3707 » 2008-07-19 15:15

重命名 :shock:
头像
kinzess
帖子: 319
注册时间: 2007-04-11 10:39

#3

帖子 kinzess » 2008-07-19 15:15

一大堆阿。。大哥。。
而且源文件不能改名字。。
否则。。
头像
solcomo
帖子: 2838
注册时间: 2007-04-25 13:12

#4

帖子 solcomo » 2008-07-19 15:22

rename 's/\..*//g' *
♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖

☠☯⚔⚓☣☦☃☕
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#5

帖子 BigSnake.NET » 2008-07-19 15:23

rename 's/\.[^\/]*//' 文件名
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
kinzess
帖子: 319
注册时间: 2007-04-11 10:39

#6

帖子 kinzess » 2008-07-19 15:27

ok
问题解决。。。
ls的2位大哥可以给个解释否??
实在看不懂。。
查了也看不懂。。。
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#7

帖子 BigSnake.NET » 2008-07-19 15:29

kinzess 写了:ok
问题解决。。。
ls的2位大哥可以给个解释否??
实在看不懂。。
查了也看不懂。。。
看正则表达式的资料
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
daf3707
论坛版主
帖子: 12731
注册时间: 2007-06-13 15:57
来自: 在他乡

#8

帖子 daf3707 » 2008-07-19 15:31

:D我等菜菜,搞不定,这个rename我一直不会用呢
头像
kinzess
帖子: 319
注册时间: 2007-04-11 10:39

#9

帖子 kinzess » 2008-07-19 15:32

BigSnake.NET 写了:
kinzess 写了:ok
问题解决。。。
ls的2位大哥可以给个解释否??
实在看不懂。。
查了也看不懂。。。
看正则表达式的资料
好的
谢谢~~
头像
kofshower
帖子: 1343
注册时间: 2007-03-13 11:23
联系:

#10

帖子 kofshower » 2008-07-19 16:14

kinzess 写了:
BigSnake.NET 写了:
kinzess 写了:ok
问题解决。。。
ls的2位大哥可以给个解释否??
实在看不懂。。
查了也看不懂。。。
看正则表达式的资料
好的
谢谢~~
主要就是[^\/]
表示除了/之外的任意字符
初学者玩这个的话,可以搞个正则式编辑器练习,KDE自带了
"We are all in the mud, but some of us are looking at the stars." (Oscar Wilde)
We are not born for ourselves.
人生天地间,并非为自己
Homepage:http://sites.google.com/site/polarisnotme/
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#11

帖子 eexpress » 2008-07-19 20:26

球猫的复杂了
● 鸣学
gcheng.chatswood
帖子: 14
注册时间: 2008-07-22 9:56

#12

帖子 gcheng.chatswood » 2008-07-22 10:29

代码: 全选

$ ls -1
0abc.a
1abc.b
2abc.c.e.f.g
3abc..
abc.def 

$ for i in *abc.*; do mv $i ${i%%.*}; done

$ ls
0abc 1abc 2abc 3abc abc 

头像
79hy
帖子: 80
注册时间: 2007-10-24 10:21
来自: 长沙

#13

帖子 79hy » 2008-07-22 10:38

代码: 全选

a=abc.cde.txt;rename $a ${a%%.*}
注意,这个只能是bash sehll可用
回复