看板 Linux 關於我們 聯絡資訊
最近在整理電腦中的資料,發現某些資料夾的檔名有換行的功能, 在終端機打開 ls 一看,格式會變成這樣子: '第一行'$'\n''第二行' 然後在 Nautilus 內打開來看檔名會變成這樣子: 第一行 第二行 請問要怎麼在 Nautilus 內達成這結果呢? 這功能真的很棒,對於我這種喜歡方格式陳列資料夾的非常好用, 譬如文件夾第一行是編號,第二行加上註解,簡直一目了然, 在條列式的顯示模式下也非常好用。 ---------------------------------------------------------- 假如 Nautilus 無法達成,請問終端機內怎麼批次改檔名比較好呢? 像我有部電影,檔名格式是"編號+空格+電影名稱",檔名如下: '001 第一部電影' '002 第二部電影' 要如何批次將他們變成: '001 第一部電影' '002 第二部電影' 畢竟量很多,一個一個改會死人,請求各位大師的指導! 每個檔名中間都有個空格,想把那個第一個空格變成換行。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.171.93.247 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1547537453.A.193.html ※ 編輯: s9209122222 (118.171.93.247), 01/15/2019 15:50:38 ※ 編輯: s9209122222 (118.171.93.247), 01/15/2019 16:00:47
hijkxyzuw: --不做死就不會死-- 01/15 15:58
hijkxyzuw: 用終端機 mv old-name $'new-name\nnext-line' 01/15 15:59
s9209122222: 請問如何大量判斷檔名中間的空格並換行呢? 01/15 16:01
※ 編輯: s9209122222 (118.171.93.247), 01/15/2019 16:02:55 ※ 編輯: s9209122222 (118.171.93.247), 01/15/2019 16:03:15
s9209122222: 網路上雖然很多教怎麼批次改副檔名的,但沒有教怎麼 01/15 16:04
s9209122222: 判斷空格並取代的 01/15 16:04
cs8425: 這感覺很作死@@ 批量就列出+取代+改名 不難處理啊 01/15 16:11
s9209122222: 找到了,rename 's/ /\n/g' * 01/15 16:36
s9209122222: 但那個 man 裡面根本沒有提到那個 g 啊! 01/15 16:36
s9209122222: 還有 rename 貌似無法分辨是文件還是資料夾 01/15 16:39
s9209122222: 資料夾名稱和文件名稱重複他就不給過了 01/15 16:39
s9209122222: 有可以只動到資料夾的辦法嗎? 01/15 16:45
s9209122222: 原來改 rename 's/ /\n/g' */ 就好了啊! 01/15 16:53
s9209122222: 原來那個 g 是指同個檔名內全部符合條件的都替換 01/15 17:00
s9209122222: 少了 g 就是只換第一個的意思 01/15 17:00
s9209122222: 重新整理過後真是乾淨又好舒服啊! 01/15 17:02
s9209122222: 結果有人建議我不要這樣做 01/15 20:49
idisnothing: 好奇COPY到ntfs/exFat會變怎樣?這些fs好像不容許檔 01/16 00:23
idisnothing: 名中有反斜線? 01/16 00:25
idisnothing: 我想有人不建議這樣做是有原因的 這麼改之後只有 01/16 00:25
idisnothing: nautilus下看起來是OK的 在其它程式底下看起來都變得 01/16 00:26
idisnothing: 更複雜 不過電腦你的你爽就好 01/16 00:27
Bencrie: 我是覺得 Windows 有些保留字比較麻煩啦 XD 01/16 01:28
s9209122222: 什麼!不同檔案系統還有檔名的差別啊! 01/16 01:30
s9209122222: 我還以為在 Linux 上沒差 01/16 01:31
s9209122222: 應該每個檔案管理器都一樣的說 01/16 01:32
idisnothing: 剛試了一下 有反斜線的檔案可以複製到NTFS 但這些檔 01/16 02:20
idisnothing: 案在WIN底下打不開也刪不掉 然後這類檔案在我測過的 01/16 02:23
idisnothing: 幾個GUI程式底下看起來都OK 但要在cmdline底下對這些 01/16 02:23
idisnothing: 做操作真是困難重重 連打開都有困難Orz 01/16 02:26
s9209122222: 打開要用 ls 複製名稱 01/16 06:49
Bencrie: 可以試試看在檔名中包含 aux XDDD 01/16 10:16
kdjf: 在XFS下你爽還可以用"/",產生的檔案所有VFS操作都死給你看 01/16 15:07
kdjf: 給17樓idis,\n代表一個換行字元,不是真的那兩個字元直接存 01/16 15:10
idisnothing: 我知道\n是換行字元 樓主這檔名實在太潮 我駕馭不來 01/16 16:58
idisnothing: 啊 我懂你意思了 it's 0x0A, not 0x7C + 0x6E 01/16 17:02
idisnothing: 更正:0x5C + 0x6E 01/16 17:03
kdjf: 用太奇怪的檔名改天某次備份/同步/寄信軟體跟你炸一次損毀 01/16 19:43
kdjf: 資料你就嗨起來的,不要以為2019大家就會記得有non-ascii 01/16 19:44
kdjf: -printable的字元,或者改天你論壇問個問題,有人給你個 01/16 19:45
kdjf: ls+pipe的腳本,處理玩資料就rm -r parent dir之類 01/16 19:46
s9209122222: 怎麼一堆檔案系統都那麼爛,連\n都無法應付 01/16 20:24
s9209122222: 有人是跟我說什麼 wc 的指令結果會錯誤 01/16 20:26
Bencrie: 那個只是用 wc -l 去算檔案個數會算錯而已,沒什麼 01/16 20:52
rickieyang: 當然可以抱怨都2019了,怎麼還有檔案系統;管理器那麼 01/17 11:28
rickieyang: 爛,連這些特殊字元都處理不好,但是不應該把這個風險 01/17 11:28
rickieyang: 轉嫁到自己身上,除非這些檔案都不重要,改天炸了都消 01/17 11:28
rickieyang: 失也無所謂。儲存;複製;搬移;管理;檢視;備份;還 01/17 11:28
rickieyang: 原... 要考慮的環節太多,故意用這類的檔名根本是自虐 01/17 11:28
rickieyang: 行為。不過某樓說的很好,你的電腦,你說了算。 01/17 11:28
hijkxyzuw: rename 是 perl 程式,那是 perl 的 regexp 01/17 16:25
WindSucker: 都9012年了 01/18 06:19
holishing: 不同發行版的rename還不一定是同一個東西呢 02/27 14:05