#rename commandBatch change file names using string replacement. Today I will use an example to write down in detail the problems I encountered and how I solved them. I hope everyone has to help.
The format is as follows:
rename main1.c main.c main1.c
? 可替代单个字符 * 可替代多个字符 [charset] 可替代charset集中的任意单个字符
Example:
There are these files foo1, ..., foo9, foo10, ..., foo278
in the folderrename foo foo0 foo?
This command will rename the files from foo1 to foo9 to foo01 to foo09. The renamed files are only files with a 4-character name, and foo in the file name is replaced with foo0.
Now let’s use a specific example to explain the use of regular expressions in this command:
The data (pictures) in my hand this afternoon are named (1).jpg, (2).jpg...to (16720).jpg.
Now I want to change the file name to 00001.png, 00002.png,...16720.png
Step one: Change the suffix name .jpg to .png
rename 's/\.jpg$/\.png/' *.jpg
Step 2: Remove the left bracket "(":
rename 's/^\(//' *.png
The third step is to remove the right bracket ")":
rename 's/\)//' *.png
Step 4: Change the file name to five digits, and add 0 in front of any number less than five digits. The creation of the script a.sh is completed. The content of the script is as follows:
#!/bin/bash for i in {1..9} do mv $i.png 0000$i.png done for i in {10..99} do mv $i.png 000$i.png done for i in {100..999} do mv $i.png 00$i.png done for i in {1000..9999} do mv $i.png 0$i.png done
Then put the script file and the folder where the file name needs to be changed, and we can directly execute the script.
If you see "Insufficient Permissions" at this time, just add execution permissions.
chmod 755 a.sh
At this point, we have completed the task. If there is anything you don’t understand, please leave me a message. If reprinted, please indicate the source: http://www.cnblogs.com/wongyi/
The above is the detailed content of Use an example to explain the use of regular expressions in the rename command. For more information, please follow other related articles on the PHP Chinese website!