Linux下的rename命令

今天在我的Fedora虚拟机上学点东西,有个文件需要重命名,于是想到了rename命令。

尝试了一下,发现没有起作用,我很疑惑,呵呵。

[luckydan@Fedora test]$ ls
a.txt
[luckydan@Fedora test]$ rename a.txt b.txt
[luckydan@Fedora test]$ ls
a.txt
为什么没有起作用,我以为是命令用法不对,查了一下

NAME
       rename - Rename files

SYNOPSIS
       rename from to file...
DESCRIPTION
       rename  will  rename  the specified files by replacing the first occur-
       rence of from in their name by to.
恩,没看明白。。。

然后在网上看到了这篇文章,我就明白了,谢谢小魏--冬雪:Linux中rename命令的用法

原来参数是有3个啊

又试了一次,这次有效了

[luckydan@Fedora test]$ rename a.txt b.txt *.txt
[luckydan@Fedora test]$ ls
b.txt

最后有一个问题,为什么rename命令的参数输入少了一个也不会有告警信息或者一些提示信息呢?第三个参数是否有默认值,如果有的话是什么呢,为什么少了他就不会进行重命名操作?

继续查,看到了这么一个解释:rename把文件名中的第一个参数字符串用第二个参数替换,只替换符合第三个参数模式的文件名。

也就是说,如果第三个参数是空的,是不是指重命名的文件模式为空,重命名操作找不到符合这个模式的文件,于是就没有对任何文件进行重命名操作。

So,解释很合理吧。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值