How to modify file names in batches by bash
This article will explain in detail how bash modifies file names in batches. The editor thinks it is very practical, so I share it for you as a reference. I hope you can get something after reading this article.
I. add a suffix
1. Question: there are a large number of date-named files in the same directory, some of which have suffixes and some end with dots, such as 20020101. , 20020101.tdbell 20020102.td.
Requirement: add a suffix to everything that ends with a dot. Ts
My method:
The code is as follows:
#! / bin/bash
For files in `ls * .`
Do
Mv $files `echo "$filests" `
Done
two。 Same as above
Mv $files ${files} ts
3. Same as above
Mv $files `$files.ts | sed's /\. / /'`
4. File = > file.txt
Mv $files $files.txt
5. * .04 = > * 04.txt
Mv $files $(echo ${files} .txt | sed's /\. / / 1')
Or
Mv $files `echo ${files} .txt | sed's /\. / / 1' `
Second, change the suffix (.old = > .new)
The code is as follows:
1. Rename
Rename .old .new *
two。
Mv $files ${file%.old} .new
3.
Mv $files `echo $files | tr .old .new`
4.
Mv $files `echo $files | sed's /\ .old /\ .new /'`
Remove the suffix (* .dat = > *)
The code is as follows:
1. Mv $files `echo $files | sed's /\ .dat / /'`
2. Mv $files `echo $files | tr .dat (4 spaces) `
4. Change the prefix (re* = > un*)
The code is as follows:
1. Mv $files un$ {$files#re}
2. Mv $files `echo $files | tr re un`
On "bash how to batch modify file names" this article is shared here, I hope the above content can be of some help to you, so that you can learn more knowledge, if you think the article is good, please share it out for more people to see.