[問題] sed後將原始檔案存檔的問題

看板Linux作者 (有種東西叫"方向燈"---掯)時間14年前 (2010/05/06 00:09), 編輯推噓0(008)
留言8則, 4人參與, 最新討論串1/1
請教各位: 今天我在某一目錄下約有近數百個副檔名.s的檔案,我要將 .s裏頭修改字串 後存檔,網路上查到 sed -i的參數可以支援,但目前所在的系統sed沒有支援-i這個參數 那我該怎麼下指令,可以將sed字串取代後直接存檔。如: sed -n 's/customer/product/gp' *.s 以上這個指令只會將取代後的結果顯示在螢幕上,但並未將原始檔案修改。 我寫一支 king.sh檔,內容如下; for F do FBASE=`basename $F .s` sed -n 's/prodmod/usermod/gp' $FBASE.s>/backup/sam/tt/$FBASE.s done 我執行king.sh *.s後就可以將我要的東西,以導向的方式導到其他目錄,然後再手動將檔 案貼回原來的目錄。 用script的方式可以解決,但有沒有辦法如一開始所指的, sed一行指令,能將檔案不但取代,還直接存檔? 謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.202.210.251 ※ 編輯: aisme21 來自: 210.202.210.251 (05/06 00:15)

05/06 19:12, , 1F
-i
05/06 19:12, 1F

05/07 06:18, , 2F
訊息 sed: illegal option -- i
05/07 06:18, 2F

05/07 07:15, , 3F

05/07 09:50, , 4F
謝謝樓上,不過我是想知道如何一行指令使變更並存檔
05/07 09:50, 4F

05/07 10:01, , 5F
還是只有一個方法,就是用迴圈搭配mv或cp的方式?
05/07 10:01, 5F

05/07 19:49, , 6F
perl, or loop.. http://bit.ly/c13diw
05/07 19:49, 6F

05/07 21:58, , 7F
不要 -n, sed -i 'xx' *.s
05/07 21:58, 7F

05/08 04:41, , 8F
小弟TRY的系統沒有支援-i @@" 訊息如二樓所示
05/08 04:41, 8F
文章代碼(AID): #1BuPWbKD (Linux)