Linux shell 脚本向文件名添加前导零

2023-12-26

我有一个包含大约 1,700 个文件的文件夹。他们的名字都像1.txt or 1497.txt等等。我想重命名所有文件,以便所有文件名都是四位数字长。

I.e., 23.txt变成0023.txt.

可以执行此操作的 shell 脚本是什么?或相关问题:How do I use grep to only match rows that contains\d.txt(即,一位数字,然后是句点,然后是字母txt)?

这是我到目前为止所拥有的:

for a in [command i need help with]
do
  mv $a 000$a
done

基本上,运行该命令三次,使用命令查找一位数字、两位数字和三位数文件名(更改了初始零的数量)。


Try:

for a in [0-9]*.txt; do
    mv $a `printf %04d.%s ${a%.*} ${a##*.}`
done

更改文件名模式([0-9]*.txt) 有必要的。


通用的枚举重命名,不对初始文件名集做出任何假设:

X=1;
for i in *.txt; do
  mv $i $(printf %04d.%s ${X%.*} ${i##*.})
  let X="$X+1"
done

关于同一主题:

  • 用于填充文件名的 Bash 脚本 https://stackoverflow.com/questions/55754/bash-script-to-pad-file-names
  • 在 bash 中提取文件名和扩展名 https://stackoverflow.com/questions/965053/extract-filename-and-extension-in-bash
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux shell 脚本向文件名添加前导零 的相关文章

  • 对目录中的所有文件执行命令

    有人可以提供执行以下操作的代码 假设有一个文件目录 所有这些文件都需要通过程序运行 该程序将结果输出到标准输出 我需要一个脚本 该脚本将进入一个目录 对每个文件执行命令 并将输出连接到一个大输出文件中 例如 要在 1 个文件上运行命令 cm
  • OSX bash 最小化窗口

    在 Mac 中并使用 bash shell 我想执行一个包含单个命令 启动 Jupyter Lab 的文件并立即最小化终端窗口 有没有办法在不安装第三方软件的情况下做到这一点 是的 只需使用osascript https ss64 com
  • 无法使用 wget 在 CentOS 机器上安装 oracle jdk

    我想在CentOS上安装oracle java jdk 8 我无法安装 java jdk 因为当我尝试使用命令安装 java jdk 时 root ADARSH PROD1 wget no cookies no check certific
  • 如何从 Artifactory 存储库下载最新的工件?

    我需要来自存储库的最新工件 例如快照 人工工厂 http en wikipedia org wiki Software repository Repository managers 该工件需要通过脚本复制到服务器 Linux 我有什么选择
  • 如何将目录及其子目录中的所有 PDF 文件复制到一个位置?

    如何全部复制PDF文件从目录及其子目录到单个目录 实际上还有更多的文件 并且深度有些任意 假设四个目录的最大深度是公平的 我想这些文件需要重命名 如果a pdf例如 位于多个目录中 因为我会adding https ebooks stack
  • CentOS:无法安装 Chromium 浏览器

    我正在尝试在 centOS 6 i 中安装 chromium 以 root 用户身份运行以下命令 cd etc yum repos d wget http repos fedorapeople org repos spot chromium
  • 从 php 执行 bash 脚本并立即输出回网页

    我有一组 bash 和 Perl 脚本 开发在 Linux Box 上部署所需的目录结构 可选 从svn导出代码 从这个源构建一个包 这在终端上运行良好 现在 我的客户请求此流程的 Web 界面 例如 某些页面上的 创建新包 按钮将一一调用
  • 如何从 bash 数组中删除元素而不展平数组

    我想创建一个采用 bash 数组的函数 如下所示 a element zero element one element two 并删除一个元素 如 元素一 并留下一个数组 如下所示 a element zero element two 这样
  • 如何在shell中输出返回码?

    我正在尝试通过调用自定义 shell 脚本sh bin sh c myscript sh gt log txt 2 gt 1 echo 该命令的输出是创建的后台进程的 PID 我想指导 bin sh保存返回码myscript sh到某个文件
  • 在 Linux 上使用多处理时,TKinter 窗口不会出现

    我想生成另一个进程来异步显示错误消息 同时应用程序的其余部分继续 我正在使用multiprocessingPython 2 6 中的模块来创建进程 我试图用以下命令显示窗口TKinter 这段代码在Windows上运行良好 但在Linux上
  • 仅使用 Git grep 的文件名

    我只想查看文本中包含特定单词的不同文件 current directory git grep word 显示文件中具有匹配单词的每一行 所以我尝试了这个 current directory git grep word files with
  • 有谁知道在哪里定义硬件、版本和序列号。 /proc/cpuinfo 的字段?

    我想确保我的 proc cpuinfo 是准确的 目前它输出 Hardware am335xevm Revision 0000 Serial 0000000000000000 我可以在代码中的哪里更改它以给出实际值 这取决于 Linux 的
  • ubuntu:升级软件(cmake)-版本消歧(本地编译)[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我的机器上安装了 cmake 2 8 0 来自 ubuntu 软件包 二进制文件放置在 usr bin cmake 中 我需要将 cmake 版本至少
  • 如何通过保持目录结构完整来同步路径中匹配模式的文件?

    我想将所有文件从服务器 A 复制到服务器 B 这些文件在不同级别的文件系统层次结构中具有相同的父目录名称 例如 var lib data sub1 sub2 commonname filetobecopied foo var lib dat
  • 使用 awk 读取文件并搜索另一个文件

    我正在读取一个文件 每行都有数字 我需要搜索另一个满足这些数字和其他条件的文件 我正在尝试使用 awk 来做到这一点 但遇到了问题 File a txt 1476 1477 1497 现在我需要打印第 12 列包含这些数字的行以及第 3 列
  • C语言中如何通过内存地址映射函数名和行号?

    如何用 GCC 中的内存地址映射回函数名称和行号 即假设一个 C 语言原型 void func Get the address of caller maybe this could be avoided MemoryAddress get
  • 使用 su 和 Expect 脚本登录用户时遇到问题

    我正在为一个班级制作一个网站 您可以使用用户名和密码登录 然后它会将您带到一个显示您在班级中的成绩的页面 该网站正在运行bash脚本 https github com jduga002 rapache 并将托管在用户已有用户名和密码登录的计
  • 将 jar 作为 Linux 服务运行 - init.d 脚本在启动应用程序时卡住

    我目前正在致力于在 Linux VM 上实现一个可运行的 jar 作为后台服务 我已经使用了找到的例子here https gist github com shirish4you 5089019作为工作的基础 并将 start 方法修改为
  • 在脚本内使用不带密码的 sudo

    由于某种原因 我需要作为用户在没有 sudo 的情况下运行脚本 script sh 该脚本需要 root 权限才能工作 我认为将 sudo 放入 script sh 中是唯一的解决方案 让我们举个例子 script sh bin sh su
  • 如何确保应用程序在 Linux 上持续运行

    我试图确保脚本在开发服务器上保持运行 它会整理统计数据并提供网络服务 因此它应该会持续存在 但一天中有几次 它会因未知原因而消失 当我们注意到时 我们只需再次启动它 但这很麻烦 并且某些用户没有权限 或专有技术 来启动它 作为一名程序员 我

随机推荐

  • 覆盖 .ToString()

    我想重写 ToString 函数 以便每当我得到一个 double 它只输出小数点后 5 位数字 如何在覆盖函数内引用 ToString 正在处理的对象 换句话说 我用什么 shell 来代替下面代码中的 XXX public overri
  • 父类中的功能需要检测子类属性的更改

    我试图找到一种方法让这个父 持久 类添加功能 以便每当子对象的任何属性发生更改时 更改 属性都会变为 true class Persistent bool changed false Persistent print Something s
  • CLLocationManager protectedRegions (NSSet) 不正确,或者可能是其他什么?

    我想在每次用户从商店数组中传递一个商店时进行检查 我有超过 20 个商店 因此我编写了一个函数来查找离用户位置最近的 20 个商店并监视它们 名单更新中locationManager didUpdateLocations 我还将旧的 20
  • 使用 FFT 从声音输入计算频率

    我的应用程序 正在显示输入声音的峰值频率 以 RPM 为单位 我有双精度数组 其中包含时域中的样本 audioRecord read buffer 0 1024 然后我对其进行了FFT transformer ft toTransform
  • 如何在Python中遍历二维列表

    我有以下清单 grid 2 6 8 6 9 2 5 5 5 0 1 3 8 8 7 3 2 0 6 9 2 1 4 5 8 5 6 7 4 7 我使用 fowling 循环来遍历每个元素 gt for i in xrange len gri
  • GetSystemInfo 是否为您提供虚拟 CPU(即超线程)的总数?

    GetSystemInfo 将为您提供物理 CPU 核心的数量 但我想知道虚拟 CPU 的总数 IE 在新的 Nahelam 芯片上 它们有 4 个核心 但显示为 8 个 cpu 如果 GetSystemInfo 没有提供此信息 我需要什么
  • 如何使用 Storage Laravel 上传多个文件?

    现在我用一个简单的方法来上传图片 if request gt hasFile images file request gt file images Do uploading to Storage uploaded Storage put d
  • 如何在64位机器上不使用shell执行的情况下在C#中启动32位进程?

    我在 64 位计算机上有一个 ASP NET Web 应用程序 需要运行旧版 32 位报告应用程序 当我运行程序时UseShellExecute false 程序退出并退出代码 1073741502 我无法使用 Shell 执行 因为我必须
  • Keras 中具有多个输入/输出的 tf.data

    对于应用来说 比如配对文本相似度 输入数据类似于 pair 1 pair 2 在这些问题中 我们通常有多个输入数据 之前 我成功地实现了我的模型 model fit pair 1 pair 2 labels epochs 50 我决定用以下
  • 在 Qt 中扩展环境变量(getenv 等效)

    我正在寻找相当于getenv http www cplusplus com reference cstdlib getenv 功能 Qt 有一个包装器getenv 称为qgetenv http doc qt io qt 5 qtglobal
  • 如何将 key ctrl-left 绑定到 word-left?

    我使用 tcsh 和 emacs 在 emacs 中 我习惯使用 ctrl left 绑定键将我向左移动一个单词 我想在我的 tcsh 终端中做同样的事情 我可以按 ctrl b 但我只是不习惯 从bindkey manpath中我不清楚如
  • 标记和词位有什么区别?

    在 Aho Ullman 和 Sethi 的 Compiler Construction 一书中 给出了源程序的输入字符串被分成具有逻辑含义的字符序列 称为标记 而词位是组成标记的序列 所以什么是基本的区别吗 Using 编译器原理 技术和
  • or 运算符在这段 JavaScript 中起什么作用?

    因此 我浏览 JQuery 源代码以获取更好的编程技巧 并且发现了一些我不确定发生了什么的代码 type type callback 谁能解释一下 OR 是什么 变量赋值是做什么的 我做了一些实验 设置和取消设置值等等 但我一无所知 If
  • elasticsearch best_field 和most_field 有什么区别

    这篇文章我已经准备好了https www elastic co guide en elasticsearch reference current query dsl multi match query html https www elas
  • 如何使用 Sidekiq 运行连续后台作业?

    我一直在成功地使用 Sidekiq 来运行由 Rails 3 2 应用程序中的用户操作启动的后台作业 我的特定应用程序涉及通过第三方 API 从外部源发送和接收数据 我需要通过不断检查每个用户是否有数据可供下载来保持数据与此外部源同步 正如
  • 将一些代码从 C++ 转换为 C [重复]

    这个问题在这里已经有答案了 可能的重复 C 代码编译为 C 但不是 C https stackoverflow com questions 3143052 c code compiles as c but not as c Edit 我将库
  • 如何分割字符串同时忽略括号中的部分?

    我有一个字符串 我想使用逗号作为分隔符将其拆分为一个数组 我不希望括号之间的字符串部分被分割 即使它们包含逗号 例如 bibendum morbi non quam nec dui luctus rutrum nulla 应该变成 bibe
  • 使用javascript循环表并读取td内的值

    我有以下内容HTML我试图循环的表td s table thead tr th Product th th class currency Base Value th th class currency Unit Price th th cl
  • 这是 PostgreSQL SQL 引擎的错误吗?如何避免(解决方法)它?

    我正在解析文本文档并将它们插入到 PostgreSQL 数据库中 我的代码是用 Java 编写的 并且使用 JDBC 进行数据库连接 在将数据添加到数据库时 我遇到了非常奇怪的错误 似乎在不可预测的时刻 主循环的迭代次数不同 Postgre
  • Linux shell 脚本向文件名添加前导零

    我有一个包含大约 1 700 个文件的文件夹 他们的名字都像1 txt or 1497 txt等等 我想重命名所有文件 以便所有文件名都是四位数字长 I e 23 txt变成0023 txt 可以执行此操作的 shell 脚本是什么 或相关