在 bash 脚本中批量 mv 或重命名 - 附加日期作为后缀

2023-12-08

经过大量搜索和反复试验,我无法进行批量处理mv or rename在文件目录上。我想做的是移动或重命名目录中的所有文件,以便mv'd or renamed 文件有$date (+ '%Y%d%m')添加到原来的后缀。

所有原始文件都有唯一的前缀,但要么.xml or .txt所以我想从org_prefix.org_suffix -> org_prefix.org_suffix.DATE

我试过这个:

$ mv /directory/* /directory/*$(date (+ '%Y%m%d') 

但总是得到/directory/*.actualdate' is not a directory error.

我试过这个:

$ for f in *; do mv $ $f.$(date +'_%m%d%y'); done 

但我得到mv: cannot stat '$'; No such file or directory

最后,我什至尝试过这个:

$ rename 's/*/.test/' * 

只是想看看我是否可以将所有文件更改为org_prefix.test但什么也没发生(没有错误,nada,zip)

非常感谢任何帮助。


循环遍历当前目录中的文件(例如,打印它们的名称)的正确方法是:

for file in *; do
    echo "$file"
done

您将如何附加日期?当然,像这样:

for file in *; do
    echo "$file.$(date +%Y%m%d)"
done

你打算如何搬家?当然,像这样:

for file in *; do
    mv -nv -- "$file" "$file.$(date +%Y%m%d)"
done

我已经添加:

  • -v以便mv详细一些(我想知道发生了什么,看着屏幕上流动的所有这些线条总是让我的小妹妹印象深刻)。
  • -n以免覆盖其他现有文件。安全第一。
  • --以防万一文件名以连字符开头:不带--, mv会与选项混淆。安全第一。

如果您只想查看扩展名的文件.banana, 更换for with:

for file in *.banana; do

of 对于包含该单词的文件banana:

for file in *banana*; do

等等。

继续关注香蕉吧!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 bash 脚本中批量 mv 或重命名 - 附加日期作为后缀 的相关文章

  • 在 Bash 中监控 tomcat,直到它完成部署 war 或应用程序

    怎么可能Tomcat在 bash 脚本中进行监控以检测它是否完成了战争或应用程序的部署 应用场景 Tomcat 开始于systemd Tomcat 开始于catalina sh 使用 Tomcat 管理器 Tomcat从Eclipse启动
  • 正则表达式匹配bash变量

    我正在尝试修改 bash 脚本 当前脚本包含 print div class 1 div Where 1可能看起来像 Apprentice Historian Level 1 Historian Level 4 Master Histori
  • 设置 git 别名,但调用它会给出“找不到命令”

    我想在 git 中设置一个别名来计算存储库中的总行数 因此我进入 Git Bash 并输入以下内容 git config global alias linecount ls files z xargs 0 wc l 我输入命令后 没有出现错
  • Bash 中单行 while 循环的语法

    我无法找到分号和 或大括号的正确组合 我想这样做 但作为命令行中的一句 while 1 do foo sleep 2 done while true do foo sleep 2 done 顺便说一句 如果您在命令提示符下将其输入为多行 如
  • 将 stdout 复制到 stderr

    我希望在 bash 下也将命令的标准输出复制到标准错误 就像是 echo FooBar FooBar FooBar 其中 是重定向表达式 那可能吗 将 tee 与 dev stderr 一起使用 echo FooBar tee dev st
  • 从 shell 脚本解析文件中的键/值的代码

    我有一个文件 需要使用 shell 脚本按键查找值 该文件如下所示 HereIsAKey This is the value 我怎样才能做类似的事情 MyVar Get HereIsAKey 然后 MyVar 应该等于 这就是值 键没有空格
  • 启动 OSX 时未使用 teamcity 代理运行 bash

    我有一个 shell 脚本startup sh执行以下操作 创建 RAM 磁盘并启动 teamcity 代理 bin bash DISK usr bin hdiutil attach nobrowse nomount ram 1677721
  • VSCode 集成终端不加载 .bashrc 或 .bash_profile

    我有以下文件来处理 shell 配置 bash profile if f bashrc then source bashrc fi and bashrc configure shell 如果我使用以下命令从命令行打开 VSCodecode
  • 为什么 sed 不将 \t 识别为制表符?

    sed s t 1 filename gt sedTmpFile mv sedTmpFile filename 我期待这个sed脚本插入一个tab在每一行前面 filename然而事实并非如此 由于某种原因 它正在插入一个t反而 Not a
  • 有没有办法在 MacOSX 上使用 Xcode 将 bash shell 脚本与 AppleScriptObjC 应用程序一起打包?

    我正在尝试使用 AppleScriptObjC 作为包装器来自动化三个或四个 bash shell 脚本 这将为我提供一个友好的 GUI 前端来选择数据文件等 以及方便的文本文件操作和多个 bash 脚本的处理 一切正常 我可以按下按钮并运
  • 如何在 Bash 脚本中回答“是”

    有一个快速的问题 想象一下我有这样的代码 mkdir p INSTALLDIR sudo apt get install y git clojure leiningen git clone git github com maltoe sto
  • Linux Bash - 日期格式

    我的日期格式是 yyyy mm dd hh mm ss 如何检查我的输入 它应该是这样的 bin bash read p Date format yy mm dd HH MM SS input check date Y m d H M S
  • 如何判断输入来自哪个键盘

    设想 我有一个 USB RFID 读取器 将其连接到笔记本电脑后 它可以用作新连接的 USB 键盘 例如无需安装任何驱动程序 当接触带有 RFID 标签的阅读器时 它进入我当前的窗口 例如终端 外壳 RFID 号码 例如0009339384
  • 如何在shell脚本中扩展相对路径

    我正在编写一个脚本来使用 bash 在 linux 2 6 上设置环境变量 因此该脚本包含如下命令 export SRC DIR export LIBPATH SRC DIR lib 问题是 当我尝试 echo LIBPATH 时 它显示
  • $@ 中 args 的 bash 参数大小写

    我有一个带有一长串可选参数的脚本 有些具有相关的值 Such as script first 2012 12 25 last 2012 12 26 copy remove script first 2012 12 25 因此有以下案例陈述
  • sed:用匹配的模式替换第 n 个单词?

    我有一个具有以下特征的文本文件 每行至少有三个由空格分隔的 单词 单词 可以是任何字符或字符串 我在一些行中附加了一些注释 并提出了对原始单词进行更改的初步建议 现在想使用 sed 为我进行这些更改 因此 为了提供更清晰的图片 我的文件如下
  • 如何在每个 xargs 命令之间休眠 1 秒?

    例如 如果我执行 ps aux awk print 1 xargs I echo 我想让 shell 在每次之间休眠 1 秒echo 如何更改我的 shell 命令 您可以使用以下语法 ps aux awk print 1 xargs I
  • 将匹配的值传递给函数,并替换为返回值

    我如何让 Bash 匹配正则表达式 而不是用常量字符串替换值 而是将匹配的值传递给函数 然后从函数的返回值中获取要替换的值 像下面的伪代码一样 它替换了每一个匹配项 a d 具有相同的字符 但大写 function uppercase ec
  • shell脚本响应按键

    我有一个 shell 脚本 本质上是这样的 while true do read r input if input a then echo hello world fi done 这一切都很好 但我刚刚意识到在这种情况下必须按 ENTER
  • 为什么 sed 将替换文本放在行首?

    在 Mac OS X bash 上 我在命令行中使用以下 sed sed s S 1 file1 txt gt file2 txt file1 txt有这样的行 some path to somewhere some stuff here

随机推荐

  • 多行上的元素右对齐

    我想对齐lidiv 右侧的元素 我可以通过浮动来做到这一点ul向右 然而 我有很多li元素 因此根据 div 的宽度 其中一些会移动到下一行 问题是li元素左对齐 将浮动放在右侧li可以解决这个问题 但它会颠倒菜单项的顺序 请看下文 row
  • 如何在spring session项目中修改或自定义sessionId?

    我的项目使用Spring Boot和Spring Session 现在我想在redis中的会话数据持久化之前修改或自定义sessionId 我该怎么办 谢谢 也许您需要阅读文档 Spring Session 与 Spring Boot 配合
  • 配置 JBoss 使用 JNDI 时出现问题

    我正在尝试在 JBoss 上运行的应用程序中使用 JNDI 将连接绑定到数据库 我做了以下事情 我创建了数据源文件oracle ds xml用相关的 xml 元素填充它
  • 网站图标未显示,我的图标不好

    如果我从另一个网站复制一个图标并进行测试 我就可以使用图标 但我自己的在 IE8 Chrome 中不起作用 我的图标是由 Visual Studio 创建的 32x32 24 位图标 我似乎总是无法使图标正常工作 我应该使用什么 我以为我可
  • 在 vb.net 中声明/打开 Excel 文件

    我已经尝试在 vb net 中声明或打开 Excel 工作表一段时间了 我已经读过vb net 中的 Excel 文件和其他链接 但它不起作用 我添加了 Microsoft Excel 12 0 对象库 包括我 Imports Micros
  • iTextSharp 和 Xamarin

    我正在尝试在 Xamarin 应用程序中使用 iTextSharp dll 但无法编译 因为我收到了此错误 Error Exception while loading assemblies System IO FileNotFoundExc
  • ControlTemplate Storyboard颜色动画问题

    我对彩色动画有疑问 这是我的来源
  • 如何在给定视图空间深度值和 ndc xy 的情况下恢复视图空间位置

    我正在编写一个延迟着色器 并试图将我的 gbuffer 包装得更紧密 但是 我似乎无法正确计算给定视图空间深度的视图位置 depth gt gl ModelViewMatrix vec4 pos xyz 1 z where pos is t
  • Android 设备未使用 adb 显示

    我已经为此搜索了很长时间 我已经尝试了所有我能找到的技巧 我一直在同一台设备上调试几个月 将应用程序完美地部署在其他完全相同的设备上 但是由于上星期 我无法再连接到它 通过 USB 连接设备 我可以听到计算机的声音警告已连接的设备 并且我可
  • 快速获取图像的亮度/光度

    我正在 php 中工作 并逐像素地检查每个图像以获得每个图像的平均亮度 这将是 CPU 密集型的方式 我已经浏览了 GD 和 imagemagick 文档 但还没有找到返回图像平均亮度的方法 这可以在这些库中快速完成 还是在另一个可以通过
  • 如何在 Postman 中编写全局函数

    我需要帮助编写一个通用函数来跨请求集合使用 这将有助于构建框架 我尝试过使用以下格式 以下函数在第一个函数的 测试 选项卡中声明 postman setGlobalVariable function function function1 p
  • 服务 chromedriver 意外退出。状态代码为:1

    我在 Google Colab 中运行此代码 它工作正常 但突然在 chromedriver 中出现此错误 我是 python 网络抓取的新手 Error WebDriverException Traceback most recent c
  • 使用 solrfacet stats 时如何分页?

    我已经通过 solr 方面统计信息从 solr 选择了所有记录 但我无法对它们进行分页 如何通过 pageSize 和 pageNum 进行分页 使用 solrfacet stats 时不能分页 因为使用 solrfacet stats 会
  • Pandas:to_csv() 得到了意外的关键字参数

    当我尝试使用数据帧 to csv 函数中的某些参数时 它会抛出 TypeError 例如 TypeError to csv gets an Unexpected keywords argument doublequote df to csv
  • Powershell:在特定的当前同级元素后添加新的 XML 元素

    我有一个 xml 列表 我希望在其中添加一个新的子元素
  • 如何使用 SQLite 将值转入列?

    我做了一张桌子叫tbl用这个代码 CREATE TABLE tbl Year int Album varchar 255 Artist varchar 255 Label varchar 255 Genre varchar 255 id i
  • 从对象数组内的数组返回唯一的数组值

    我找不到类似的问题 我有点卡住了 我有以下 JSON 数组 Name element1 Attributes 1 2 Name element2 Attributes 1 3 Name element3 Attributes 我正在尝试创建
  • 重新构造复数因子向量,千位后用逗号分隔

    我想重新格式化一个因子向量 以便它包含的数字有千位分隔符 该向量包含整数和实数 对于值或顺序没有任何特定规则 Data 特别是 我正在使用向量vec类似于下面生成的 content lt c 0 100 0 100 0 100 0 100
  • PowerShell 包装器将管道输入定向到 Python 脚本

    我正在尝试编写一个小工具 让我可以将命令输出通过管道传输到剪贴板 我已读完multiple answers在 Stack Overflow 上 但它们对我不起作用 因为它们不包含管道 或者因为它们没有使用函数 或者它们只是抛出错误 或者也许
  • 在 bash 脚本中批量 mv 或重命名 - 附加日期作为后缀

    经过大量搜索和反复试验 我无法进行批量处理mv or rename在文件目录上 我想做的是移动或重命名目录中的所有文件 以便mv d or renamed 文件有 date Y d m 添加到原来的后缀 所有原始文件都有唯一的前缀 但要么