Discussion:
[問題] 改名
(时间太久无法回复)
h***@ptt.cc
2014-04-13 13:22:36 UTC
Permalink
請問一下

資料夾裡面有很多資料有點亂

A.234y2934982
A.2342739486
A.489539864934
B.23469283
B.49852398502
B.293864982369
C.239469823
..


請問有辦法把檔名更改 亂碼部分變成簡單的1,2,3 或任意簡單方式排列

A.1
A.2
A.3
B.1
B.2
B.3
..

謝謝!!!

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.67.192.196
※ 文章網址: http://www.ptt.cc/bbs/Linux/M.1397395357.A.1B4.html
冬眠
2014-04-13 21:19:45 UTC
Permalink
※ 引述《harold1018 ( )》之銘言:
: 請問一下
: 資料夾裡面有很多資料有點亂
: A.234y2934982
: A.2342739486
: A.489539864934
: B.23469283
: B.49852398502
: B.293864982369
: C.239469823
: ...
: 請問有辦法把檔名更改 亂碼部分變成簡單的1,2,3 或任意簡單方式排列
: A.1
: A.2
: A.3
: B.1
: B.2
: B.3
: ...
: 謝謝!!!

假設所有要改名的檔案皆在某路徑下的test資料夾裡面

底下指令請於test資料夾的上一層依序執行

ls test/ > 1.txt
ls test/ | cut -d . -f 1 > 2.txt
sed 's/$/&./' 2.txt > 3.txt
grep -n . 3.txt | sed 's/\(.*\):\(.*\)/\2\1/' > 4.txt
paste 1.txt 4.txt | sed 's/^/mv &/' > ok.sh
chmod 755 ok.sh
cd test
sh ../ok.sh

最後可以得到(任意簡單方式排列)

A.1
A.2
A.3
B.4
B.5
B.6
C.7
.
.
.

--
Bash不熟 請高手來吧

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.255.142.228
※ 文章網址: http://www.ptt.cc/bbs/Linux/M.1397423986.A.657.html
冬眠
2014-04-14 00:25:57 UTC
Permalink
※ 引述《harold1018 ( )》之銘言:
: 請問一下
: 資料夾裡面有很多資料有點亂
: A.234y2934982
: A.2342739486
: A.489539864934
: B.23469283
: B.49852398502
: B.293864982369
: C.239469823
: ...
: 請問有辦法把檔名更改 亂碼部分變成簡單的1,2,3 或任意簡單方式排列
: A.1
: A.2
: A.3
: B.1
: B.2
: B.3
: ...
: 謝謝!!!

for x in `ls /tmp/test`
do
let "i=i+1"
mv /tmp/test/$x /tmp/test/${x:0:1}.$i
done

輸出結果(任意簡單方式排列)
A.1
A.2
A.3
B.4
B.5
B.6
.
.
.


--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.255.142.228
※ 文章網址: http://www.ptt.cc/bbs/Linux/M.1397435158.A.930.html
Loading...