mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-06-08 15:04:05 +08:00
33 lines
2.4 KiB
HTML
33 lines
2.4 KiB
HTML
<h1 id="rename">rename</h1>
|
||
<p>用字符串替换的方式批量改变文件名</p>
|
||
<h2 id="补充说明">补充说明</h2>
|
||
<p><strong>rename命令</strong> 用字符串替换的方式批量改变文件名。</p>
|
||
<h3 id="语法">语法</h3>
|
||
<pre><code class="language-bash">rename(参数)</code></pre>
|
||
<h3 id="参数">参数</h3>
|
||
<pre><code class="language-bash">原字符串:将文件名需要替换的字符串;
|
||
目标字符串:将文件名中含有的原字符替换成目标字符串;
|
||
文件:指定要改变文件名的文件列表。</code></pre>
|
||
<h3 id="实例">实例</h3>
|
||
<p>将main1.c重命名为main.c</p>
|
||
<pre><code class="language-bash">rename main1.c main.c main1.c</code></pre>
|
||
<p><strong>rename支持通配符</strong></p>
|
||
<pre><code class="language-bash">? 可替代单个字符
|
||
* 可替代多个字符
|
||
[charset] 可替代charset集中的任意单个字符</code></pre>
|
||
<p>文件夹中有这些文件foo1, …, foo9, foo10, …, foo278</p>
|
||
<p>如果使用<code>rename foo foo0 foo?</code>,会把foo1到foo9的文件重命名为foo01到foo09,重命名的文件只是有4个字符长度名称的文件,文件名中的foo被替换为foo0。</p>
|
||
<p>如果使用<code>rename foo foo0 foo??</code>,foo01到foo99的所有文件都被重命名为foo001到foo099,只重命名5个字符长度名称的文件,文件名中的foo被替换为foo0。</p>
|
||
<p>如果使用<code>rename foo foo0 foo*</code>,foo001到foo278的所有文件都被重命名为foo0001到foo0278,所有以foo开头的文件都被重命名。</p>
|
||
<p>如果使用<code>rename foo0 foo foo0[2]*</code>,从foo0200到foo0278的所有文件都被重命名为foo200到foo278,文件名中的foo0被替换为foo。</p>
|
||
<p><strong>rename支持正则表达式</strong></p>
|
||
<p>字母的替换</p>
|
||
<pre><code class="language-bash">rename "s/AA/aa/" * //把文件名中的AA替换成aa</code></pre>
|
||
<p>修改文件的后缀</p>
|
||
<pre><code class="language-bash">rename "s//.html//.php/" * //把.html 后缀的改成 .php后缀</code></pre>
|
||
<p>批量添加文件后缀</p>
|
||
<pre><code class="language-bash">rename "s/$//.txt/" * //把所有的文件名都以txt结尾</code></pre>
|
||
<p>批量删除文件名</p>
|
||
<pre><code class="language-bash">rename "s//.txt//" * //把所有以.txt结尾的文件名的.txt删掉</code></pre>
|
||
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->
|