看板 Linux 關於我們 聯絡資訊
※ 引述《weakstudy (台灣高階管理人)》之銘言: : 小弟剛接觸Linux下的Ubuntu系統,用的是Bash, : 話說某天,某個學長經過我的座位看我一個檔點一下後,按F2,再更改檔名, : 然後換下一個,他看了我改了五、六個檔吧, : 終於受不了了,「學弟啊!這種東西,你寫個Bash就可以在30秒內搞定它了!」, : 我眼睛發光的看著他,但是他在趕論文,隨手指著一個同學(女的)學姐, : 她也會寫Bash,不會的請教她, : 然就就飄回自已的座位寫論文了, : 真的是「飄」回去 … 好像剛才那一段對話從來沒有發生過, : 學姐也看都沒看我一眼, : 我 … 好想寫個「慘」字 … : 好了,前情提要就是這樣 … : 接下來就是我現在面對的情況: : 我有個資料夾…就叫它「OnePiece」吧 : 裡面有… : 「海賊王 第1集 繁體中文翻譯.mp4」 : 「海賊王 第2集 繁體中文翻譯.mp4」 : 「海賊王 第3集 繁體中文翻譯.mp4」 : 「海賊王 第4集 繁體中文翻譯.mp4」 : 「海賊王 第5集 繁體中文翻譯.mp4」 : … : 「海賊王 第51集 繁體中文翻譯.mp4」 : 「海賊王 第52集 繁體中文翻譯.mp4」 : 「海賊王 第53集 繁體中文翻譯.mp4」 : 「海賊王 第54集 繁體中文翻譯.mp4」 : 「海賊王 第55集 繁體中文翻譯.mp4」 : … : 「海賊王 第796集 繁體中文翻譯.mp4」 : 「海賊王 第797集 繁體中文翻譯.mp4」 : 「海賊王 第798集 繁體中文翻譯.mp4」 : 「海賊王 第799集 繁體中文翻譯.mp4」 : 「海賊王 第800集 繁體中文翻譯.mp4」 : … : 因小弟Bash功力低淺,故特來網上求教各高手、神級人物,是否可以寫一個Bash幫忙更改 : 檔名的呢? : 但希望是集數的數字可以留下來, : 也就是如「海賊王 第800集 繁體中文翻譯.mp4」可以變成「OnePiece v800.mp4」? : 久聞PTT高手如雲,又願意伸出援手,小弟這次真心想要請求幫忙,如不嫌棄,請助小弟 : 一臂之力! : 小弟將來實力長成,必像大眾高手一樣儘力不計酬勞幫忙真心需要幫忙之人! : 成謝再三! 伸手黨還寫了這麼長... #!/bin/bash for i in `ls`; do NUM=`echo $i|sed -n 's/.*第\(.*\)集.*/\1/p'` mv $i "OnePiece v$NUM.mp4" done -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.0.52.126 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1502786258.A.566.html
kenwufederer: 真是好心人… 08/15 16:40
CMJ0121: 然後就會出事情了... $i 沒有用雙引號包起來 08/15 16:51
hijkxyzuw: 你其實想陷害他對吧 08/15 16:55
hijkxyzuw: mv "$i" "OnePiecev$NUM.mp4" 才對 08/15 17:10
Vett: 順手打的 打錯了不好意思啊 哈哈 08/15 17:28
weakstudy: 對不起!小弟Linux新手,望各位高手海涵! ^^" 08/15 22:24
HamalAri: 感覺用""包起來還是很不保險, 比如要是檔名有";然後 08/15 23:47
HamalAri: `ls` 這邊也可能會炸; NUM 也可能會炸 08/15 23:48
HamalAri: 太多需要 escape 的字元了 08/15 23:48
weakstudy: 謝謝各位前輩的教導,在下會繼續努力的! 謝謝! ^^ 08/16 00:30
losepacific: 最近在處理一個資料夾下有約一百四十萬個圖檔的分類 08/16 01:19
losepacific: 一開始因為在windows下,所以選用了Photos2Folders 08/16 01:20
losepacific: 跑了四天之後,遇到Win10愛的更新,程式被中斷了, 08/16 01:20
losepacific: 目前在用cygwin摻msys2然後先用find或ls -U之後,把 08/16 01:22
losepacific: 檔名透過管線餵給xargs或while read之類的處理。 08/16 01:22
hijkxyzuw: 變數代換後,不會偵測特殊字元,除了空格的分詞。 08/16 09:21
hijkxyzuw: 例如 to_null='>/dev/null' ; ls $to_null 08/16 09:22
hijkxyzuw: 會變成列出名為 '>/dev/null' 的檔案,而非重導向。 08/16 09:24
bamchisu: $i要用雙引號=> ${i} 08/16 21:06