好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 完美解決mac環境使用sed修改文件出錯的問題

完美解決mac環境使用sed修改文件出錯的問題

熱門標簽:梧州防封電銷卡 昆明電銷機器人價格 益陽400電話申請辦理流程 400的電話一般從哪里辦理 怎么用百度地圖標注坐標 上海機器人外呼系統哪家好 地圖標注人員分布 春運地圖標注app 江西全自動外呼系統報價

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

出錯原因

用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執行正常,但在mac環境下執行出現以下錯誤:

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

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

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

-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,則不備份。

例如執行

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

則會創建一個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

執行結果

$ 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);

執行前會備份源文件到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
執行結果

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

$ ./update_config.sh

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

以上這篇完美解決mac環境使用sed修改文件出錯的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

標簽:北京 懷化 贛州 惠州 亳州 九江 河南 新疆

巨人網絡通訊聲明:本文標題《完美解決mac環境使用sed修改文件出錯的問題》,本文關鍵詞  完美,解決,mac,環境,使用,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《完美解決mac環境使用sed修改文件出錯的問題》相關的同類信息!
  • 本頁收集關于完美解決mac環境使用sed修改文件出錯的問題的相關信息資訊供網民參考!
  • 推薦文章