linux - 使用 mv 从文件中删除前缀和后缀

标签 linux rename mv

我有一个包含多个文件的目录。我需要重命名这些文件。

文件名如下所示:

snap-file-name-1.txt
snap-file-name-2.txt
snap-file-name-3.txt

我需要从这些文件中删除“snap”和“.txt”。

-file-name-1
-file-name-2
-file-name-3

如何使用 mv 命令执行此操作?

最佳答案

使用sed操作文件名:

ls | while read file; do
    mv -- ${file} $(sed -n 's/snap\(.*\).txt/\1/p' <<<${file})
done

关于linux - 使用 mv 从文件中删除前缀和后缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42320977/

相关文章:

linux - Apache2:尝试启动时出现 "Address already in use"('httpd.pid' 问题?)

收集 2 : fatal error: ld terminated with signal 11 [Segmentation fault]

linux - 如何在 Linux 上用空格移动多个文件

linux - 解压然后在linux中处理

linux - 写入文件时循环的 Shell Bash 脚本

git - 重命名所有旧的分支脚本

macos - 使用 Bash 将目录中的所有文件大写

arrays - 重命名 MongoDB 数组中嵌入文档中的字段不起作用

bash - 如何将文件移动到 Unix 中具有相似名称的文件夹中?

linux - 重命名一个目录,确保它不存在