2
$ ls -l
[email protected] 1 ywang Users 6156 Aug 16 14:38 -STEST.20140728.151116.pgp
[email protected] 1 ywang Users 2756 Aug 16 14:38 -STEST.20140728.152042.pgp
[email protected] 1 ywang Users 3424 Aug 16 14:38 -STEST.20140729.141735.pgp
[email protected] 1 ywang Users 2439 Aug 16 14:38 -STEST.20140729.142515.pgp
[email protected] 1 ywang Users 2672 Aug 16 14:38 -STEST.20140730.125115.pgp
[email protected] 1 ywang Users 2391 Aug 16 14:38 -STEST.20140730.125556.pgp
嗨,我已經嘗試了多種方式,例如,循環瀏覽文件並逐個執行mv
。然而,我並不成功,因爲mv
將前導破折號解釋爲自身的參數,並且在與通配符*
合併時似乎不能使用反斜槓轉義。Bash刪除文件名中的前導破折號
任何想法如何可以在Bash的oneliner中完成?謝謝!
不bash,但它解決了你的問題:http://search.cpan.org/~pederst/rename/。 '重命名s/^ - // - *'(未經測試)。而且,大多數命令都用'--'來表示選項的結束,所以你可以將它們用於以'-'開頭的文件。 'mv - -blah blah'。 – jpkotta 2014-09-12 17:54:12