如何使用正则表达式将字符附加到 linux 中的文件名?我看过这两个帖子
- https://stackoverflow.com/questions/6985873/change-names-of-multiple-files-linux
- 如何通过替换文件名中的单词来重命名多个文件?
但一直无法得到为我工作的答案。我也不确定这是否属于这里、堆栈溢出或另一个子站点。
我一直在努力
for FILE in \d+_\d+\.png; do echo "$FILE" $(echo "$FILE" | sed 's/\./_t\./'); done
但这似乎无法将正则表达式文件名识别为正则表达式。
所以对于数据样本,我的文件目前是
1111_2222.png
我希望他们成为
1111_2222_t.png
这些文件分散在五个目录中。谢谢。
来源
该
ls | egrep
片段已从此处检索基于这个
mv $f ${f/.png/_t.png}
答案这在我的测试中对我有用..
它希望您位于正确的基本目录中。请注意,它不假设文件是什么扩展名或文件名格式的“开始”是什么。当心。
简单(可能太多),但在这种情况下也适用: