最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
如何解決mac環(huán)境使用sed修改文件出錯的問題-創(chuàng)新互聯(lián)

小編給大家分享一下如何解決mac環(huán)境使用sed修改文件出錯的問題,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

成都創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來,是專業(yè)互聯(lián)網技術服務公司,擁有項目網站建設、成都網站設計網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元鎮(zhèn)寧做網站,已為上家服務,為鎮(zhèn)寧各地企業(yè)和個人服務,聯(lián)系電話:13518219792

sed是linux命令,用于處理文件內容(修改,替換等),mac中都可以使用,但發(fā)現(xiàn)相同的替換命令在linux可以正常執(zhí)行,在mac則執(zhí)行失敗。

出錯原因

用shell寫了個更新Config/Config.php版本的腳本,代碼如下:

#!/bin/bash

file='Config/Config.php'
old_version='1.1.0'
new_version='1.1.1'

#替換配置文件版本
sed -i "s/$old_version/$new_version/g" "$file"

exit 0
在linux執(zhí)行正常,但在mac環(huán)境下執(zhí)行出現(xiàn)以下錯誤:

$ cat ./Config/Config.php
// 版本
define('VERSION', 1.1.0);

$ ./update_config.sh 
sed: 1: "Config/Config.php": invalid command code C

man sed 查看原因,找到 -i 參數(shù)的說明

-i extension 
Edit files in-place, saving backups with the specified extension. If a zero-length extension is given, no backup will be saved. It is not recommended to 
give a zero-length extension when in-place editing files, as you risk corruption or partial content in situations where disk space is exhausted, etc.

原來sed -i需要帶一個字符串作為備份源文件的文件名稱,如果這個字符串長度為0,則不備份。

例如執(zhí)行

sed -i "_bak" "s/a/b/g" "example.txt"

則會創(chuàng)建一個example.txt_bak的備份文件,文件內容為修改前的example.txt內容

實例

1、如果需要備份源文件,update_config.sh修改為

#!/bin/bash

file='Config/Config.php'
old_version='1.1.0'
new_version='1.1.1'

#替換配置文件版本
sed -i "_bak" "s/$old_version/$new_version/g" "$file"

exit 0

執(zhí)行結果

$ cat ./Config/Config.php
// 版本
define('VERSION', 1.1.0);

$ ./update_config.sh 

$ cat ./Config/Config.php
// 版本
define('VERSION', 1.1.1);

$ cat ./Config/Config.php_bak
// 版本
define('VERSION', 1.1.0);

執(zhí)行前會備份源文件到Config.php_bak

2、如果不需要備份,把update_config.sh修改為

#!/bin/bash

file='Config/Config.php'
old_version='1.1.0'
new_version='1.1.1'

#替換配置文件版本
sed -i "" "s/$old_version/$new_version/g" "$file"

exit 0
執(zhí)行結果

$ cat ./Config/Config.php
// 版本
define('VERSION', 1.1.0);

$ ./update_config.sh

$ cat ./Config/Config.php
// 版本
define('VERSION', 1.1.1);

看完了這篇文章,相信你對“如何解決mac環(huán)境使用sed修改文件出錯的問題”有了一定的了解,如果想了解更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


本文名稱:如何解決mac環(huán)境使用sed修改文件出錯的問題-創(chuàng)新互聯(lián)
網頁地址:http://fisionsoft.com.cn/article/hcdpc.html