天天看點

批量檔案改名案例實戰

批量檔案改名案例實戰:

把下面所有檔案的檔案名中的finished内容去掉

<code>[root@XCN </code><code>test</code><code>]</code><code># ll</code>

<code>total 0</code>

<code>-rw-r--r-- 1 root root 0 Jun 20 10:25 xcn_1_finished.jpg</code>

<code>-rw-r--r-- 1 root root 0 Jun 20 10:25 xcn_2_finished.jpg</code>

<code>-rw-r--r-- 1 root root 0 Jun 20 10:25 xcn_3_finished.jpg</code>

<code>-rw-r--r-- 1 root root 0 Jun 20 10:25 xcn_4_finished.jpg</code>

<code>-rw-r--r-- 1 root root 0 Jun 20 10:29 xcn_5_finished.jpg</code>

<code>-rw-r--r-- 1 root root 0 Jun 20 10:26 xcn_6_finished.jpg</code>

方法1:shell腳本for循環結合sed實作

<code>#!/bin/bash</code>

<code>for</code> <code>file</code> <code>in</code> <code>`</code><code>ls</code> <code>./*.jpg`  </code><code>#shell腳本for循環,file為變量依次取得ls ./*.jpg的結果檔案名</code>

<code>do</code>

<code>mv</code> <code>$</code><code>file</code> <code>`</code><code>echo</code> <code>$</code><code>file</code><code>|</code><code>sed</code> <code>'s/finished//g'</code><code>`  </code><code>#使用mv指令進行更改檔案,新的檔案名字元串拼接是本題的重點。</code>

<code>done</code>

<code>執行後結果</code>

<code>[root@XCN </code><code>test</code><code>]</code><code># ll </code>

<code>total 4</code>

<code>-rw-r--r-- 1 root root 87 Jun 20 10:35 finished.sh</code>

<code>-rw-r--r-- 1 root root  0 Jun 20 10:25 xcn_1_.jpg</code>

<code>-rw-r--r-- 1 root root  0 Jun 20 10:25 xcn_2_.jpg</code>

<code>-rw-r--r-- 1 root root  0 Jun 20 10:25 xcn_3_.jpg</code>

<code>-rw-r--r-- 1 root root  0 Jun 20 10:25 xcn_4_.jpg</code>

<code>-rw-r--r-- 1 root root  0 Jun 20 10:29 xcn_5_.jpg</code>

<code>-rw-r--r-- 1 root root  0 Jun 20 10:26 xcn_6_.jpg</code>

方法二:shell腳本for循環加變量的部分截取方法

<code>#xcn qq:995345781</code>

<code>for</code> <code>file</code> <code>in</code> <code>`</code><code>ls</code> <code>./*.jpg`</code>

<code>/bin/mv</code> <code>$</code><code>file</code> <code>`</code><code>echo</code> <code>"${file%finished*}.jpg"</code><code>`    </code><code>#這裡就是變量的截取新方法</code>

<code>執行後結果:</code>

<code>-rw-r--r-- 1 root root 108 Jun 20 10:41 change_file_name.sh</code>

<code>-rw-r--r-- 1 root root   0 Jun 20 10:38 xcn_1_.jpg</code>

<code>-rw-r--r-- 1 root root   0 Jun 20 10:38 xcn_2_.jpg</code>

<code>-rw-r--r-- 1 root root   0 Jun 20 10:39 xcn_3_.jpg</code>

<code>-rw-r--r-- 1 root root   0 Jun 20 10:39 xcn_4_.jpg</code>

<code>-rw-r--r-- 1 root root   0 Jun 20 10:38 xcn_5_.jpg</code>

<code>-rw-r--r-- 1 root root   0 Jun 20 10:38 xcn_6_.jpg</code>

方法三:ls結合awk實作

<code>-rw-r--r-- 1 root root 0 Jun 20 10:44 xcn_1_finished.jpg</code>

<code>-rw-r--r-- 1 root root 0 Jun 20 10:44 xcn_2_finished.jpg</code>

<code>-rw-r--r-- 1 root root 0 Jun 20 10:44 xcn_3_finished.jpg</code>

<code>-rw-r--r-- 1 root root 0 Jun 20 10:44 xcn_4_finished.jpg</code>

<code>-rw-r--r-- 1 root root 0 Jun 20 10:44 xcn_5_finished.jpg</code>

<code>-rw-r--r-- 1 root root 0 Jun 20 10:44 xcn_6_finished.jpg</code>

<code>[root@XCN </code><code>test</code><code>]</code><code># ls |awk -F 'finished' '{print  $0}'   </code>

<code>xcn_1_finished.jpg</code>

<code>xcn_2_finished.jpg</code>

<code>xcn_3_finished.jpg</code>

<code>xcn_4_finished.jpg</code>

<code>xcn_5_finished.jpg</code>

<code>xcn_6_finished.jpg</code>

<code>[root@XCN </code><code>test</code><code>]</code><code># ls |awk -F 'finished' '{print  $1}' </code>

<code>xcn_1_</code>

<code>xcn_2_</code>

<code>xcn_3_</code>

<code>xcn_4_</code>

<code>xcn_5_</code>

<code>xcn_6_</code>

<code>[root@XCN </code><code>test</code><code>]</code><code># ls |awk -F 'finished' '{print  $2}' </code>

<code>.jpg</code>

<code>[root@XCN </code><code>test</code><code>]</code><code># ls |awk -F 'finished' '{print  $1$2}' </code>

<code>xcn_1_.jpg</code>

<code>xcn_2_.jpg</code>

<code>xcn_3_.jpg</code>

<code>xcn_4_.jpg</code>

<code>xcn_5_.jpg</code>

<code>xcn_6_.jpg</code>

<code>[root@XCN </code><code>test</code><code>]</code><code># ls |awk -F 'finished' '{print "mv "$0" "$1$2" "}'|/bin/bash</code>

<code>-rw-r--r-- 1 root root 0 Jun 20 10:44 xcn_1_.jpg</code>

<code>-rw-r--r-- 1 root root 0 Jun 20 10:44 xcn_2_.jpg</code>

<code>-rw-r--r-- 1 root root 0 Jun 20 10:44 xcn_3_.jpg</code>

<code>-rw-r--r-- 1 root root 0 Jun 20 10:44 xcn_4_.jpg</code>

<code>-rw-r--r-- 1 root root 0 Jun 20 10:44 xcn_5_.jpg</code>

<code>-rw-r--r-- 1 root root 0 Jun 20 10:44 xcn_6_.jpg</code>

<code>[root@XCN </code><code>test</code><code>]</code><code>#</code>

方法四:通過專業的改名指令rename實作

<code>-rw-r--r-- 1 root root 0 Jun 20 10:59 xcn_1_finished.jpg</code>

<code>-rw-r--r-- 1 root root 0 Jun 20 10:59 xcn_2_finished.jpg</code>

<code>-rw-r--r-- 1 root root 0 Jun 20 10:59 xcn_3_finished.jpg</code>

<code>-rw-r--r-- 1 root root 0 Jun 20 10:59 xcn_4_finished.jpg</code>

<code>-rw-r--r-- 1 root root 0 Jun 20 10:59 xcn_5_finished.jpg</code>

<code>-rw-r--r-- 1 root root 0 Jun 20 10:58 xcn_6_finished.jpg</code>

<code>[root@XCN </code><code>test</code><code>]</code><code># rename "finished" "" *</code>

<code>-rw-r--r-- 1 root root 0 Jun 20 10:59 xcn_1_.jpg</code>

<code>-rw-r--r-- 1 root root 0 Jun 20 10:59 xcn_2_.jpg</code>

<code>-rw-r--r-- 1 root root 0 Jun 20 10:59 xcn_3_.jpg</code>

<code>-rw-r--r-- 1 root root 0 Jun 20 10:59 xcn_4_.jpg</code>

<code>-rw-r--r-- 1 root root 0 Jun 20 10:59 xcn_5_.jpg</code>

<code>-rw-r--r-- 1 root root 0 Jun 20 10:58 xcn_6_.jpg</code>

本文轉自 baishuchao 51CTO部落格,原文連結:http://blog.51cto.com/baishuchao/1940123