【问题标题】:Multi rename in Linux bashLinux bash 中的多重重命名
【发布时间】:2019-04-11 16:51:23
【问题描述】:

我尝试使用此代码重命名我的文件(昨天的日期)1、文件(昨天的日期)2、3、4、5...。

#!/bin/bash
echo dir date?
read datedir
cd /mnt/c/Users/OPS\ 1/Desktop/F/CVS/CVS\ COMPONENTS/CVS$datedir
echo date now?
read datetd
echo last date?
read lastdate
rename -v 's/$lastdate/$datetd/g' *$lastdate

【问题讨论】:

  • 请详细说明您的问题。
  • 已经很详细了,对不起,我是英语新手
  • 您的问题是什么?它不起作用吗?如果没有,您的期望与实际看到的结果是什么?
  • 请清楚地描述您想要什么(不仅仅是您当前的尝试)。例如:1) 列出所有文件及其初始名称,2) 列出重命名后具有所需名称的所有文件。
  • @FrankBalos 不要担心英语。不是每个人都是本地人。尽管如此,我们仍会尽力帮助您。我建议您稍微edit您的问题并提供我们要求的信息。这是:(a)您在哪个操作系统上运行? (b) 您的原始文件名看起来如何 (c) 重命名后,您希望文件名看起来如何。 (见How to Ask和minimal reproducible example)

标签: linux bash


【解决方案1】:

看完man rename我明白你在做什么:

您的rename 命令使用错误。使用以下内容更新它:

rename "$lastdate" "$datetd" *$lastdate

概要:rename from to file...

描述:rename 将通过用to 替换第一次出现的from 来重命名指定文件。

来源:man rename

【讨论】:

  • 错误:非法八进制数字 '8' 在(用户提供的代码),在行尾
猜你喜欢
  • 2016-08-01
  • 2020-03-24
  • 2011-01-04
  • 2013-07-08
  • 1970-01-01
  • 2022-01-13
  • 2013-03-01
  • 2014-01-06
  • 2012-06-14
相关资源
最近更新 更多