【发布时间】:2011-12-01 06:15:38
【问题描述】:
使用正则表达式,您可以放置一个捕获组并在您的操作中引用它(即 \1)。在 bash 中使用 glob 时是否有类似的情况?
假设我有名为“file1”、“file2”、“file3”的文件,我想将它们重命名为“foo1”、“foo2”、“foo3”。我想做这样的事情:
mv 文件(?) foo\1
这可能吗?
【问题讨论】:
使用正则表达式,您可以放置一个捕获组并在您的操作中引用它(即 \1)。在 bash 中使用 glob 时是否有类似的情况?
假设我有名为“file1”、“file2”、“file3”的文件,我想将它们重命名为“foo1”、“foo2”、“foo3”。我想做这样的事情:
mv 文件(?) foo\1
这可能吗?
【问题讨论】:
您正在寻找批量重命名。 *上有很多解决方案。这里是one example
【讨论】:
这个特定问题的一个解决方案:
for i in `ls | egrep "^file[0-9]?$"`; do mv $i ${i/file/ foo}; done
【讨论】: