linux - 在 shell 脚本中使用 mv 命令重命名文件的一部分

标签 linux shell busybox

我想在 shell 脚本中使用 mv 命令重命名文件
现在文件的格式是 foo-<date>.tar.gz我想将其重命名为 foo1-<date>.tar.gz.
我试过,剪切 foo 并重命名它并连接等等,但我想要一些非常简单的东西
mv foo*.tar.gz foo1*.tar.gz
date should be maintained only foo should be changed foo1 是否可以 ?如果是怎么办?

提前致谢!

最佳答案

您可以使用 BASH 字符串操作:

f='foo-12APR2014.tar.gz'
nf="foo1-${f#*-}"

测试:

echo "$nf"
foo1-12APR2014.tar.gz

PS: 如果不使用 BASH 那么你可以使用 sed:

nf=`echo "$f"|sed 's/^foo/foo1/'`

关于linux - 在 shell 脚本中使用 mv 命令重命名文件的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23336660/

相关文章:

shell - 如何恢复 screen ?

linux - 使用非标准端口在命令行上发送邮件

linux - 如何恢复因 MV 命令格式错误而消失的文件?

shell - 使用Docker Alpine在本地文件上运行Shell命令

docker - Alpine Linux 处理证书的方式与 Busybox 不同吗?

linux - 使用 cygwin 添加 FILE_SHARE_READ 模式

windows - 从 Java 源代码更改操作系统参数

c++ - 文件名如何在 `char` 和 2 字节字符之间工作?

linux - 构建 LFS : Segmentation fault with make on a graphical shell

linux - 在 Linux 平台上学习 x86 汇编的最佳方法是什么?