[問題] 請問怎麼更改「-」開頭的檔案名稱...

看板Linux作者 (處處留心皆正妹)時間15年前 (2010/06/03 02:28), 編輯推噓2(206)
留言8則, 4人參與, 最新討論串1/1
hi,all 今天手殘在win下把一些檔案DSCN9954.jpg等等的檔名前面加上dash符號「-」後, 變成 -DSCN9954.jpg 後,用sftp傳到linux系統下後,麻煩就開始了XD 跑到linux下用文字操作一直找不到這個檔案, :( 系統沒有裝 emacs 所以一切純指令操作.. 我試了一些指令都不行,像 mv *.jpg new_folder mv \-*.jpg new_folder ls *.jpg ls *99* 用single quote單引號 ''來括住也不行 這些外部指令似乎會去parsing 檔名前面的 「-」 符號 會把檔名前的 -D 視為 option (如果是這樣,感覺有點危險) 除了用 echo 指令來列出檔名可以成功以外,目前還想不到方法 我用 echo -* 可以來列出檔名 接著我用 command substitution 來改名也宣告失敗 mv `echo -DSCN9954.*` 1.jpg 把echo結果輸出到文字檔後,也試過寫成shell script來改檔名也不行... 最後我只想到應該可用 emacs 或 很囧的一招方法.. sftp進localhost,再用sftp裡面的rename指令來改檔名(最後是成功了...) 請問有別的想法嗎?? thanks!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.112.233.74 ※ 編輯: HowLeeHi 來自: 59.112.233.74 (06/03 02:37)

06/03 02:50, , 1F
雙引號 "檔名"
06/03 02:50, 1F

06/03 02:56, , 2F
./-xxxx 亦可
06/03 02:56, 2F

06/03 03:00, , 3F
你可以用set -x看這些*代換後 指令會長怎樣 還蠻有趣的
06/03 03:00, 3F

06/03 03:02, , 4F
或是使用mv -- -xxxx 代表--之後的都不是option
06/03 03:02, 4F

06/03 11:07, , 5F
非常感謝h大和c大,不過我試了雙引號後也是不行耶
06/03 11:07, 5F

06/03 11:08, , 6F
我的bash version是2.05b.0(1)
06/03 11:08, 6F

06/03 12:20, , 7F
find -inum xxx -exec mv {} ./oo \; 利用inode
06/03 12:20, 7F

06/05 02:17, , 8F
哦,原來可以用inode把找到後的./檔名丟給mv這招,非常感謝
06/05 02:17, 8F
文章代碼(AID): #1C1gAnEZ (Linux)
文章代碼(AID): #1C1gAnEZ (Linux)