【问题标题】:How to rename multiple file names using unix command如何使用 unix 命令重命名多个文件名
【发布时间】:2015-07-19 04:45:25
【问题描述】:

我有一个类似文件名的列表

sam.txt
ron.txt
maria.txt
glory.txt

我需要将其更改为不同的名称,而无需手动重命名文件名

是否有 sed 命令来执行该操作?

【问题讨论】:

  • 什么?请详细说明您的问题。另外,为什么要sed? sed 处理文本,而不是文件
  • 你想如何重命名?是否有任何要添加到现有名称的前缀/后缀?
  • 您可能对search.cpan.org/~rmbarker/File-Rename/rename.PL 感兴趣。基于 Debian 的发行版作为 perl 软件包的一部分提供。

标签: unix sed command


【解决方案1】:

试试下面

ls *.txt | xargs -i mv {} {}_<New >

【讨论】:

  • 又短又甜。 @Vishal,您可以在此处添加 -I 作为评论,您确实没有为 Mahesh 的回答添加太多内容。
【解决方案2】:
ls *.txt | xargs -I {} mv {} {}_<NEW>

使用I 开关

【讨论】:

    【解决方案3】:

    这可能对你有用(GNU sed):

    sed 's/.*/mv & new_&/e' file
    

    【讨论】:

    • 酷!最好解释一下e 标志在sed 中暗示execution。
    猜你喜欢
    • 2012-12-07
    • 1970-01-01
    • 2016-10-20
    • 1970-01-01
    • 2016-05-29
    • 2014-12-23
    • 2020-12-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多