我想從大寫的文件名中取出最後兩個字母,並將它們附加到文件名中。我expeceted命令:sed和Mac OS X與上,下和整個捕獲控制序列的區別
ls | sed -e "s/.*\([A-Z][A-Z]\)$/\0\/\L\1\E/"
實現這一點,在我的Ubuntu箱它工作得很好,但在我的Mac它簡單地打印出一個0/LXXE/
其中XX
是從捕獲正確的字母。
什麼是\0
,\L
和\E
在Mac sed的等價物?
我瀏覽過網頁,有幾個人注意到Mac OS X sed與Ubuntu sed不同,但大多數主題都討論了-i
文件擴展名或空字符串的要求(之前讓我絆倒了)。
'釀安裝--default-名稱gnu-sed'安裝爲'sed'而不是'gsed' – TalkLittle
「以root身份運行自制軟件極其危險,不再支持。」 – arekolek
謝謝@arekolek,這是一個很好的觀點。我編輯過。 – anubhava