I have files which are labelled in the following manner, and need to move them according to 0000 - 0010 (base the last 4 digits. What is the regex for this? I have tried this regex but I don't get anything. As someone who isn't an expert on regex any help would be appreciated.
find ./ -regextype egrep -regex '.*file([0-9]\ -[0-9]\ -[0-9])\ .flac'
I get no output from my regex, but would like to copy only 0000 to 0010 to a new location
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
CodePudding user response:
I suggest with bash
version >= 4.0:
mv 1241-137614-{0000..0010}.flac <destionation_dir>
If a source file does not exist, you will get an error message from mv
.
CodePudding user response:
For moving files I agree with @Cyrus. If you still need the regex for scripting purposes, this works:
echo "1241-137614-0001.flac" | grep -E -o ".{0,4}.flac" | tr -d '.flac'
although there may be a better way to remove the extension.