linux如何改文件名(linux如何给文件改名)

>要用单个命令重命名一组文件,请使用rename命令。它需要使用正则表达式,并且可以在开始前告诉你会有什么更改。—SandraHenry-stocker(作者)几十年来,Linux用户一直使用mv命令重命名文件。它很简单,

>要用单个命令重命名一组文件,请使用 rename 命令。它需要使用正则表达式,并且可以在开始前告诉你会有什么更改。

— Sandra Henry-stocker(作者)

几十年来,Linux 用户一直使用 mv 命令重命名文件。它很简单,并且能做到你要做的。但有时你需要重命名一大组文件。在这种情况下,rename 命令可以使这个任务更容易。它只需要一些正则表达式的技巧。

与 mv 命令不同,rename 不允许你简单地指定旧名称和新名称。相反,它使用类似于 Perl 中的正则表达式。在下面的例子中,s 指定我们将第一个字符串替换为第二个字符串(旧的),从而将 this.new 变为 this.old。

$ rename \\\’s/new/old/\\\’ this.new
$ ls this*
this.old

使用 mv this.new this.old 可以更容易地进行更改一个,但是将字符串 this 变成通配符 *,你可以用一条命令将所有的 *.new 文件重命名为 *.old:

$ ls *.new
report.new schedule.new stats.new this.new
$ rename \\\’s/new/old/\\\’ *.new
$ ls *.old
report.old schedule.old stats.old this.old

正如你所料,rename 命令不限于更改文件扩展名。如果你需要将名为 report.* 的文件更改为 review.*,那么可以使用以下命令做到:

$ rename \\\’s/report/review/\\\’ *

正则表达式中的字符串可以更改文件名的任何部分,无论是文件名还是扩展名。

$ rename \\\’s/123/124/\\\’ *
$ ls *124*
status.124 report124.txt

如果你在 rename 命令中添加 -v 选项,那么该命令将提供一些反馈,以便你可以看到所做的更改,或许会包含你没注意的。这让你注意到并按需还原更改。

$ rename -v \\\’s/123/124/\\\’ *
status.123 renamed as status.124
report123.txt renamed as report124.txt

另一方面,使用 -n(或 –nono)选项会使 rename 命令告诉你将要做的但不会实际做的更改。这可以让你免于执行不不想要的操作,然后再还原更改。

$ rename -n \\\’s/old/save/\\\’ *
rename(logger.man-old, logger.man-save)
rename(lyrics.txt-old, lyrics.txt-save)
rename(olderfile-, saveerfile-)
rename(oldfile, savefile)
rename(review.old, review.save)
rename(schedule.old, schedule.save)
rename(stats.old, stats.save)
rename(this.old, this.save)

如果你对这些更改满意,那么就可以运行不带 -n 选项的命令来更改文件名。

但请注意,正则表达式中的 . 不会被视为句点,而是作为匹配任何字符的通配符。上面和下面的示例中的一些更改可能不是输入命令的人希望的。

$ rename -n \\\’s/.old/.save/\\\’ *
rename(logger.man-old, logger.man.save)
rename(lyrics.txt-old, lyrics.txt.save)
rename(review.old, review.save)
rename(schedule.old, schedule.save)
rename(stats.old, stats.save)
rename(this.old, this.save)

为确保句点按照字面意思执行,请在它的前面加一个反斜杠。这将使其不被解释为通配符并匹配任何字符。请注意,进行此更改时,仅选择了 .old 文件。

$ rename -n \\\’s/.old/.save/\\\’ *
rename(review.old, review.save)
rename(schedule.old, schedule.save)
rename(stats.old, stats.save)
rename(this.old, this.save)

下面的命令会将文件名中的所有大写字母更改为小写,除了使用 -n 选项来确保我们在命令执行之前检查将做的修改。注意在正则表达式中使用了 y,这是改变大小写所必需的。

$ rename -n \\\’y/A-Z/a-z/\\\’ W*
rename(WARNING_SIGN.pdf, warning_sign.pdf)
rename(Will_Gardner_buttons.pdf, will_gardner_buttons.pdf)
rename(Wingding_Invites.pdf, wingding_invites.pdf)
rename(WOW-buttons.pdf, wow-buttons.pdf)

在上面的例子中,我们将所有大写字母更改为了小写,但这仅对以大写字母 W 开头的文件名。

总结

当你需要重命名大量文件时,rename 命令非常有用。请注意不要做比预期更多的更改。请记住,-n(或者 –nono)选项可以帮助你避免耗时的错误。


via: https://www.networkworld.com/article/3433865/how-to-rename-a-group-of-files-on-linux.html

作者: Sandra Henry-Stocker 选题: lujun9972 译者: geekpi 校对: wxy

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/59712.html

(0)
nan
上一篇 2021-12-09
下一篇 2021-12-09

相关推荐

  • 快递软件有哪些(什么软件支持查询大量快递)

    快递软件有哪些?什么软件支持查询大量快递,爱惜日带你了解相关信息。很多商家在面临大量快递时都会手足无措,不知道怎么才能够快速查询这些快递单号,使用手动查询肯定不实际,因为会花费大量的时间和精力,今天就教大家一个方法,能够同时自动查询上千甚至上万单的快递。1、先将需要查询的单号以一行一个的格式准备好,接着我们需要下载一款软件,叫做固乔快递查询助手,大家可以上百度搜索固乔科技进入官网

    2021-11-21 创业分享
    0
  • 如何做一个成功的品牌策划(品牌怎么策划)

    看到很多人提问如何做品牌策划,老王是专门研究品牌的,现在从品牌的视角帮大家解答一下,品牌策划的核心内容。品牌策划主要包含:视觉策划和核心价值策划。视觉策划就是你要通过视觉层面的设计让消费者准确的识别和记住你的品牌。后面讲视觉策划的方法和

    2021-12-02 创业分享
    0
  • 一起看看相对的解决办法吧(电脑数据丢失怎么恢复)

    电脑是我们生活和工作中必不可少的伙伴,在使用电脑的时候因为种种原因可能导致我们所需要的数据丢失,例如误删系统文件,电脑断电文档没保存等等。下面小编总结了常见的几种数据丢失的情况,一起看看相对的解决办法吧。情况一:误删系统软件,电脑无法正常运行。如果已

    2022-01-03
    0
  • 如何正确诊断网站SEO(网站免费seo诊断报告书怎么写)

    本报告主要分,网站概况,网站各页面诊断建议等两个方面:1.网站概况1-1.网站收录信息数据1-2.网站关键词整体排名趋势图(PC+M):1-3.友链以及外链数量检测图:1-4.网站打开速度统计图:注:以上SEO查询工具为www.

    2021-11-29
    0
  • 做试管婴儿的全部流程(试管婴儿需要多少的费用)

    前几天小区的慧慧终于怀孕了,她高兴地请我们一起去她家做客。我们一直都知道,她和她老公一直在尝试试管婴儿有2、3年了,今年终于开花结果了,为了不让长辈空欢喜一场,所以在胎儿4个月时,才告诉家里人,现在宝宝很健康。在我们为他们高兴庆祝时,却看到慧慧留下了

    2021-12-25 创业分享
    0
  • 2021年最新支付宝红包口令(扫码领红包的二维码怎么弄)

    近日,各种微信群,以及朋友圈中,经常会有支付宝扫码领红包的二维码。不少人很好奇,为什么大家都在纷纷推送这一二维码,并且这个活动在哪里可以找到,是不是真的。今天就带大家一起来看看支付宝红包在哪里。支付宝扫码领红包二维码在哪?支付宝推出金秋优惠节的活动,

    2022-01-03 创业分享
    0

发表回复

登录后才能评论