最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux之sed命令(包含MacOS的用法)

 更新時間:2025年09月04日 09:27:47   作者:minh_coo  
文章介紹了Linux下的sed流編輯器功能及在MacOS中的兼容性問題,指出直接使用會導致報錯,推薦安裝GNU sed解決,同時概述了sed的基本用法,包括追加、修改、刪除等文本處理操作,適用于多種場景

一、概述

Linux下的sed命令是一種流編輯器,用于在命令行中對文本進行處理,常見的操作如:添加、修改、刪除、追加等。

當所用系統(tǒng)為MacOS時,直接使用sed會出現(xiàn)

command a expects \ followed by text

此類報錯,處理方法如下:

解決方案1:sed命令改寫 --> 添加一個空串

sed -i ‘s/apple/applewatch/g' /tmp/a.txt
  • 改寫為
sed -i ‘' ‘s/apple/applewatch/g' /tmp/a.txt

解決方案2:調(diào)整mac下的sed命令 --> 安裝gnu-sed

  • 執(zhí)行:
brew install gnu-sed
alias sed=gsed

本人建議使用第二種方式解決,一勞永逸。

extra:在使用sed新增一行時會使用到\,macOS會把反斜杠解析為命令結束字符,后面不允許攜帶新字符,導致報錯

extra characters after \ at the end of a command

只能通過把命令分割成兩行內(nèi)容。

示例:

原命令:sed -i '$a new line' /tmp/a.txt
macOS下需要寫成:
sed -i '' -e '$a\
new line' /tmp/a.txt

二、用法

以下介紹sed命令常用方法。

1、文件末尾追加一行

sed -i '$a <new_line>' <file_name>
示例:sed -i '$a this is a new line' /tmp/sed.txt

2、指定行后新增一行

sed -i '/<specific_line>/a\<new_line>' <file_name>
示例:sed -i '/an existing line/a\this is a new next line' /tmp/sed.txt

其中<specific_line>可以為模糊匹配,例如為line但有多行都包含line,此時會在所有包含line關鍵字的行后都新增一行。

此規(guī)則以下都適用。

3、指定行前新增一行

sed -i '/<specific_line>/i\<new_line>' <file_name>
示例:sed -i '/an existing line/i\this is a new upper line' /tmp/sed.txt

4、修改指定行

sed -i 's/<old_content>/<new_content>/g' <file_name>
示例:sed -i 's/magic_switch=0/magic_switch=1/g' /tmp/sed.txt

5、刪除指定行

sed -i '/<specific_line>/d' <file_name>
示例:sed -i '/trash_line/d' /tmp/sed.txt

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論

壤塘县| 韩城市| 太白县| 清河县| 瓦房店市| 德清县| 宁河县| 西乡县| 深圳市| 土默特右旗| 贡觉县| 阳新县| 高平市| 广宁县| 泰宁县| 馆陶县| 苍山县| 河北省| 兴化市| 曲水县| 岢岚县| 南丰县| 山丹县| 北流市| 静海县| 太谷县| 灯塔市| 新民市| 武义县| 金川县| 凤山县| 泸溪县| 兴义市| 封开县| 广水市| 盈江县| 泌阳县| 天峨县| 新余市| 宁远县| 洪泽县|