用于根据文件中的最后 4 位数字组合移动的正则表达式
Regex for moving based on last 4 digit combinations in a file
我有以下方式标记的文件,需要根据 0000 - 0010 移动它们(基于最后 4 位数字。这个的正则表达式是什么?
我试过这个正则表达式,但我什么也没得到。作为不是正则表达式专家的人,我们将不胜感激。
find ./ -regextype egrep -regex '.*file([0-9]\+-[0-9]\+-[0-9])\+.flac'
我的正则表达式没有输出,但只想将 0000 到 0010 复制到新位置
1241-137614-0000.flac
1241-137614-0001.flac
1241-137614-0002.flac
1241-137614-0003.flac
1241-137614-0004.flac
1241-137614-0005.flac
1241-137614-0006.flac
1241-137614-0007.flac
1241-137614-0008.flac
1241-137614-0009.flac
1241-137614-0010.flac
我建议使用 bash
版本 >= 4.0:
mv 1241-137614-{0000..0010}.flac <destination_dir>
如果源文件不存在,您将收到来自 mv
的错误消息。
对于移动文件,我同意@Cyrus。如果您仍然需要正则表达式来编写脚本,这行得通:
echo "1241-137614-0001.flac" | grep -E -o ".{0,4}.flac" | tr -d '.flac'
虽然可能有更好的方法来删除扩展。
我有以下方式标记的文件,需要根据 0000 - 0010 移动它们(基于最后 4 位数字。这个的正则表达式是什么? 我试过这个正则表达式,但我什么也没得到。作为不是正则表达式专家的人,我们将不胜感激。
find ./ -regextype egrep -regex '.*file([0-9]\+-[0-9]\+-[0-9])\+.flac'
我的正则表达式没有输出,但只想将 0000 到 0010 复制到新位置
1241-137614-0000.flac
1241-137614-0001.flac
1241-137614-0002.flac
1241-137614-0003.flac
1241-137614-0004.flac
1241-137614-0005.flac
1241-137614-0006.flac
1241-137614-0007.flac
1241-137614-0008.flac
1241-137614-0009.flac
1241-137614-0010.flac
我建议使用 bash
版本 >= 4.0:
mv 1241-137614-{0000..0010}.flac <destination_dir>
如果源文件不存在,您将收到来自 mv
的错误消息。
对于移动文件,我同意@Cyrus。如果您仍然需要正则表达式来编写脚本,这行得通:
echo "1241-137614-0001.flac" | grep -E -o ".{0,4}.flac" | tr -d '.flac'
虽然可能有更好的方法来删除扩展。