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

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

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

一、概述

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

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

command a expects \ followed by text

此類(lèi)報(bào)錯(cuò),處理方法如下:

解決方案1:sed命令改寫(xiě) --> 添加一個(gè)空串

sed -i ‘s/apple/applewatch/g' /tmp/a.txt
  • 改寫(xiě)為
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新增一行時(shí)會(huì)使用到\,macOS會(huì)把反斜杠解析為命令結(jié)束字符,后面不允許攜帶新字符,導(dǎo)致報(bào)錯(cuò)

extra characters after \ at the end of a command

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

示例:

原命令:sed -i '$a new line' /tmp/a.txt
macOS下需要寫(xiě)成:
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,此時(shí)會(huì)在所有包含line關(guān)鍵字的行后都新增一行。

此規(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

總結(jié)

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

相關(guān)文章

最新評(píng)論

南昌县| 江山市| 莎车县| 建阳市| 淮北市| 芦山县| 堆龙德庆县| 阿拉尔市| 舒兰市| 仙居县| 张掖市| 怀安县| 广南县| 衢州市| 大连市| 蓬安县| 鄂托克旗| 天峻县| 阿巴嘎旗| 海南省| 海晏县| 修武县| 商水县| 罗源县| 金溪县| 三原县| 南开区| 甘南县| 西平县| 陆河县| 济南市| 昌都县| 宁陵县| 北海市| 浮梁县| 苏尼特右旗| 邵东县| 永福县| 龙游县| 临漳县| 乐安县|