在目录中递归查找并替换文件名

2023-12-06

我想重命名以以下开头的文件夹中的所有文件123_xxx.txt to xxx.txt.

例如我的目录有:

123_xxx.txt
123_yyy.txt
123_zzz.txt

我想将所有文件重命名为:

xxx.txt
yyy.txt
zzz.txt

我在这个论坛上看到了一些有用的 bash 脚本,但我仍然很困惑如何使用它来满足我的要求。

让我们假设我使用:

for file in `find -name '123_*.txt'` ; do mv $file {?.txt} ; done

这是正确的方法吗?


你可以这样做:

find . -name '123_*.txt' -type f -exec sh -c '
for f; do
    mv "$f" "${f%/*}/${f##*/123_}"
done' sh {} +

没有管道,没有读取,没有机会破坏格式错误的文件名,没有非标准工具或功能。

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

在目录中递归查找并替换文件名 的相关文章

  • 子 shell 何时继承其父 shell 环境?

    什么情况下将shell的环境传递给子shell 子 shell 始终从父 shell 获取所有变量 man bash将描述所有使用子shell的情况 主要是 command command command and command 所谓环境只
  • 在 Ubuntu 上纯粹通过 bash 脚本安装 mysql 5.7

    我想要一个无需任何手动输入即可安装 MySQL 5 7 实例的 bash 脚本 我正在关注数字海洋教程 https www digitalocean com community tutorials how to install mysql
  • 具有非阻塞读取功能的 Bash 脚本

    我想使用命名管道将一些数据发送到根进程 这是脚本 效果很好 bin sh pipe tmp ntp if p pipe then mknod m 666 pipe p fi while true do if read line lt pip
  • 通过 SSH 将变量传递给远程脚本

    我正在通过 SSH 从本地服务器在远程服务器上运行脚本 首先使用 SCP 复制该脚本 然后在传递一些参数时调用该脚本 如下所示 scp path to script server example org another path ssh s
  • bash 函数保留制表符补全

    我把函数 make color make 1 ccze A in bashrc获得彩色的 make 输出 他的作品很好 但是make用于选择目标的制表符补全功能丢失 有什么方法可以保留函数中命令的制表符完成 或者我可以做其他事情来实现制表符
  • 从 bash 脚本运行节点

    很简单 我正在尝试使用 cron 自动运行 nodejs 脚本 但是脚本本身似乎无法运行该文件 我的脚本很简单 usr bin env node node var node assets js update js 但是 在运行此命令时 它返
  • Bash:循环遍历字符串数组后无法读出带空格的字符串

    我正在使用循环读取数组的内容 该数组包含名为 music 的目录层次结构中的所有目录和文件 内容是 find 命令先前输出的字符串 这个想法是根据流派 艺术家和标题将 directory contents 中每个数组元素的完整目录路径分成子
  • Bash 脚本 - 迭代 find 的输出

    我有一个 bash 脚本 其中需要迭代 find 命令输出的每一行 但似乎我正在迭代 find 命令中的每个单词 以空格分隔 到目前为止我的脚本看起来像这样 folders find maxdepth 1 type d for i in f
  • 如何从 powershell 中设置 bash 的环境变量?

    使用powershell我该如何设置 https askubuntu com q 1205227 45156 the 环境 https stackoverflow com q 5327495 262852变量 这里 特别 https sta
  • 从 Ruby 运行 shell 命令:在显示输出时捕获输出?

    我有个问题 我想从另一个 ruby 脚本运行一个 ruby 脚本并捕获它的输出信息 同时让它也输出到屏幕上 runner usr bin env ruby print Enter your password password gets ch
  • execlp 多个“程序”

    我想运行类似的东西 cat file tar base64 myprogram c base64 d tar zvt I use execlp运行该进程 当我尝试运行类似的东西时cat它有效 但如果我尝试运行base64 d tar zvt
  • BASH 脚本编译多个 C++ 文件 - OpenCV

    请参见在C 和OpenCV中调用其他文件中的函数 https stackoverflow com questions 24442836 call functions in other files in c and opencv 对于最初的问
  • Bash 脚本:#!/bin/bash 是什么意思? [复制]

    这个问题在这里已经有答案了 在 bash 脚本中 什么是 bin bash第一行是什么意思 UPDATE 有区别吗 bin bash and bin sh 这就是所谓的shebang http en wikipedia org wiki S
  • Mac OS X 中 Bash 脚本中的 SFTP 命令

    我需要使用 SFTP 和 SSH 从 Mac 主机将文本文件传输到远程 PC freeSSH 这两个连接在本地网络中 那么有没有办法从 Bash 脚本内部运行 SFTP 命令 使用提供的用户名和密码 我已经尝试过一些脚本expect 但我没
  • 将 JSON 数组转换为 bash 数组并保留空格

    我想将 JSON 文件转换为 bash 字符串数组 稍后我可以对其进行迭代 我的JSON结构如下 USERID TMCCP CREATED DATE 31 01 2020 17 52 USERID TMCCP CREATED DATE 31
  • touch命令在一个目录下创建多个文件(不同名称)

    我想制作一个在 bash 中创建目录和文件结构的脚本 我尝试过这样的事情 mkdir p 1 2 touch 1 2 a b c a b c 应该是在一个命令或其他命令中创建的文件 但由于某种原因 结构是这样的 current folder
  • 伊迪德信息

    重新定义问题 有什么方法可以获取所连接显示器的序列号吗 我想收集显示器的Eid信息 当我使用 logverbose 选项运行 X 时 我可以从 xorg 0 log 文件中获取它 但问题是 如果我切换显示器 拔出当前显示器 然后插入另一个显
  • 如何将命令作为参数传递给 ssh [重复]

    这个问题在这里已经有答案了 我的需要是让这个命令起作用 sshpass p XXXX ssh oStrictHostKeyChecking no email protected cdn cgi l email protection sudo
  • bash 中的“declare -r”和“readonly”有什么区别?

    在 bash 中 有什么区别declare r and readonly declare r a a1 readonly b b1 我不知道该选择哪个 tl dr readonly使用默认范围global甚至在函数内部 declare使用范
  • shell_exec 的输出被截断为 100 个字符

    当在 shell 中运行以下命令时 curl F file filename http 192 168 0 1 产生以下输出 Accuracy 0 0 1 classification Accuracy 0 0 1 classificati

随机推荐

  • iOS 使用当前位置权限对话框在 Phonegap 应用程序中显示两次

    我有一个Phonegap应用程序 我包括cordova js在 HTML 中 但不在www目录 我正在等待deviceready被解雇 然后我打电话 navigator geolocation getCurrentPosition succ
  • 如何在另一页获取数组详细信息

    我有类别数组 还有更多产品 我需要在类别页面中显示类别 当单击某个类别时 我必须重定向产品页面并显示必要的产品 单击产品时 我必须重定向产品详细信息页面并显示必要的产品详细信息 类别加载到类别页面 点击时会重定向到产品页面 但是 我看不到产
  • Android 获取手机联系人并删除重复项

    我遇到了与联系人相关的问题 我获取了手机联系人并将它们存储在我的列表对象中 这是它的代码 Uri uri ContactsContract Data CONTENT URI String projection ContactsContrac
  • 我应该如何构建我的 Node/express/mongodb 应用程序?

    我只是好奇人们如何构建他们的 Node js 应用程序 通常我创建模型 视图 控制器 就这么简单 但我对 Node js 领域还算陌生 我正在尝试尽可能多地了解社区的运作方式 欢迎任何答案 谢谢 无论如何 我的实际设置是这样的 直到我找到
  • 如何以编程方式判断Word文档是否损坏?

    我有一个小的 C 应用程序 可以与 word 进行互操作 将一堆 word doc 文件转换为文本文件 并且在大多数情况下 这都可以正常工作 但是 如果文档已损坏 则 word 无法打开该文件并弹出一个对话框 这意味着我无法完全自动化此转换
  • 强制关闭 Android Activity 之前的回调?

    我希望在我的应用程序崩溃之前执行一些紧急清理代码 我尝试使用 onDestroy onFinal 和 Finalize 无济于事 这在 Android Activity 中可能吗 好吧 我建议您的应用程序一开始就不要崩溃 如果有什么东西可能
  • 有没有更好的方法来求数字乘法和求和?

    int N 2345 var digitArray N ToString ToCharArray int multiplicationSum 1 foreach char digit in digitArray multiplication
  • 如何标记因子但仍保留其原始水平值 - R

    我将这个问题分为两部分 第一部分是一般问题 第二部分是具体问题 首先 我想知道是否有一种可能的方法来标记数字因子但仍保留其原始数字级别 这特别令人困惑 因为我意识到当我们将标签参数传递给一个因子时 它就会变成该因子的级别 例如 x lt f
  • 我的网址是否以斜杠 (/) 结尾?我该如何使用 codeigniter 来做到这一点

    我正在尝试找出最合适的 从我读过的文章来看 似乎最好以斜杠结尾 url 所以而不是 http example url article 内容如下 http example url article 首先 我调整了 htaccess 以强制尾随斜
  • 在 Java 中组成 URL 或 URI 的惯用方法是什么?

    如何在 Java 中构建 URL 或 URI 有没有一种惯用的方法 或者可以轻松做到这一点的库 我需要允许从请求字符串开始 解析 更改各种 URL 部分 方案 主机 路径 查询字符串 并支持添加和自动编码查询参数 从 Apache HTTP
  • Node.js 开始读取文件的特定行

    在 Node js 上 我们可以使用以下命令逐行读取文件readline module var fs require fs var readline require readline var rl readline createInterf
  • Azure 广告在声明中返回角色,但 User.IsInRole 返回 false

    知道是什么原因造成的吗 我可以在 User Claims 中看到声明 我唯一能想到的是 来自 Azure Ad Roles 的声明返回的结果与 IsInRole 检查的内容不同 声明中显示的 CorpAdmin 角色 User IsInRo
  • 使用 ...(rest) 参数将参数从数组传递到 Actionscript 方法

    我的问题是这个问题的 Flex 换位 我可以将数组作为参数传递给 Java 中具有可变参数的方法吗 也就是说 我在一些 Actionscript 代码中有一个数组 我需要将数组中索引的每个对象传递到一个方法中method arguments
  • 从 ListView 的自定义适配器中的 URL 加载图像 (Android Studio)

    虽然位图似乎已正确获取 但变量 userBitmap 将保持为空 然而 当在我的平板电脑上向上或向下滚动时 新的列表行将包含图片 但它们都是相同的并且是错误的 真的 真的很困惑 我尝试了多种不同的方法从网络获取图像 任何帮助是极大的赞赏 我
  • 如何恢复初始 git 提交?

    我第一次提交到 git 存储库 然后我对这个承诺感到后悔并想恢复它 我尝试 git reset hard HEAD 1 我收到这条消息 fatal ambiguous argument HEAD 1 unknown revision or
  • Ajax,防止点击时出现多个请求

    当用户单击登录或注册按钮时 我试图阻止多个请求 这是我的代码 但它不起作用 第一次工作正常 然后返回 false do login click function e e preventDefault if this data request
  • C# - 从数据表中删除具有相同列值的行

    我有一个DataTable看起来像这样 ID Name DateBirth 1 aa 1 1 11 2 bb 2 3 11 2 cc 1 2 12 3 cd 2 3 12 这是删除具有相同 ID 的行的最快方法 以获得类似的结果 保留第一个
  • iterparse 无法解析某个字段,而其他类似的则可以

    我用Python的iterparse解析 nessus 扫描的 XML 结果 nessus 文件 对意外记录的解析失败 但类似的记录已被正确解析 XML 文件的一般结构是很多记录 如下所示
  • 不同的控制器有不同的布局文件

    如何使我的 ZF2 模块加载特定控制器的其他布局文件 考虑你有IndexController and AdminController在您的 ZF2 应用模块中和IndexController正在使用布局 phtml但你想用管理布局 phtm
  • 在目录中递归查找并替换文件名

    我想重命名以以下开头的文件夹中的所有文件123 xxx txt to xxx txt 例如我的目录有 123 xxx txt 123 yyy txt 123 zzz txt 我想将所有文件重命名为 xxx txt yyy txt zzz t