linux每天一小步---sed命令詳解

1 命令功能

? ? sed是一個相當強大的文件處理編輯工具,sed用來替換,刪除,更新文件中的內容。sed以文本行為單位進行處理,一次處理一行內容。首先sed吧當前處理的行存儲在臨時的緩沖區中(稱為模式空間pattern space),接著處理緩沖區中的行,處理完成后,吧緩沖區的內容輸出到屏幕。sed處理完一行就將其從臨時緩沖區刪除,然后將下一個行讀入,進行處理和顯示,這樣不斷重復直至處理完最后一行內容,sed便結束運行

2 命令語法

? ? sed 【選項與參數-nefri】 '【命令】' 【文件名】

3 選項與參數

? ? -n ? 使用安靜(silent)模式,無-n選項則所有來自標準輸入的數據和sed查詢到的結果一般都會被列出到終端上,而加上-n后,則只將經過sed處理的結果列出。

? ? -e ? 進行多項編輯,即對輸入行應用多條sed命令時使用,直接在命令模式上進行sed的動作編輯

? ? -f ? 指定sed命令執行的腳本名,直接將sed【命令】寫入到文件中,通過-f參數來指定執行。

? ? -r ? 指定擴展正則表達式,(不使用-r選項。默認為基本正則表達式)

? ? -i ? 直接修改文件,不在終端中輸出結果

4 命令參數

? ? n1,n2 ? 表示行號,該參數可選,表示操作的行數,可以是數字,正則表達式或者二者結合。用逗號分隔表示n1-n2行的范圍

? ? a ? 新增,表示在當前行的下一行追加一行文本內容。a 的后面可以接字串,而這些字串會在下一行出現

? ? i ? ?插入,表示在當前行的上一行插入一行文本內容。i 的后面可以接字串,而這些字串會在上一行出現

? ? c ? 替換,以行為單位進行替換,c 的后面可以接字串,這些字串可以取代 n1,n2 之間的行

? ? d ? 刪除,因為是刪除,所以d后面通常不接任何內容

? ? p ? 打印,打印行的內容,通常p會與參數-n一起使用

? ? s ? 替換,替換行中的內容,通常s命令搭配正則表達式使用,如1,20s/linux/linux1/g,如果不跟g,則在行中替換第一個匹配的模式后終止,不在向行后查找,g表示整行查找

? ??= ?打印行號

5 使用范例

【1】打印文件中第n行的內容

【2】刪除包含字符到包含字符的行之間的行

【3】刪除包含字符到第n行的內容

【4】使用模式進行查詢

【5】追加一行或多行字符串

注:使用\n來進行換行,使得在一行后追加多條內容

【6】代替一行或多行

【7】代替一行或多行

【8】替換行中的內容

?

作者:linux每天一小步

出處:http://www.cnblogs.com/westoslinux

如果你真心覺得文章寫得不錯,而且對你有所幫助,不妨幫忙“推薦"一下,您的“推薦”將是我最大的寫作動力!

本文版權歸作者所有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接!

轉載于:https://www.cnblogs.com/westoslinux/p/6429559.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/372889.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/372889.shtml
英文地址,請注明出處:http://en.pswp.cn/news/372889.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mysql trace工具_100% 展示 MySQL 語句執行的神器-Optimizer Trace

在上一篇文章《用Explain 命令分析 MySQL 的 SQL 執行》中,我們講解了 Explain 命令的詳細使用。但是它只能展示 SQL 語句的執行計劃,無法展示為什么一些其他的執行計劃未被選擇,比如說明明有索引,但是為什么查詢時未使用索引等。…

MOXy作為您的JAX-RS JSON提供程序–服務器端

在以前的系列文章中,我介紹了如何利用EclipseLink JAXB(MOXy)創建RESTful數據訪問服務。 在本文中,我將介紹在服務器端利用MOXy的新JSON綁定添加對基于JAXB映射的JSON消息的支持有多么容易。 MOXy作為您的JAX-RS JSON提供程序–服…

006_過濾器

過濾器 過濾器(Filter)把附加邏輯注入到MVC框的請求處理,實現了交叉關注。所謂交叉關注(Cross-Cutting Concerns),是指可以用于整個應用程序,而又不適合放置在某個局部位置的功能,否…

Android_項目文件結構目錄分析

android項目文件結構目錄分析 在此我們新建了一個helloworld的項目,先看一些目錄結構: 這么多的文件夾和文件中,我們重點關注是res目錄、src目錄、AndroidManifest.xml文件: 一、res目錄主要是用來存放android項目的各種資源文件&…

實體 聯系 模型mysql_數據庫系統概念讀書筆記――實體-聯系模型_MySQL

bitsCN.com數據庫系統概念讀書筆記——實體-聯系模型前言為了重新回顧我寫的消息系統架構,我需要重新讀一下數據庫系統概念的前三章,這里簡單的做一個筆記,方便自己回顧基本概念實體-聯系(E-R)數據模型基于對現實世界的這樣一種認識&#xff…

使用Twitter Bootstrap,WebSocket,Akka和OpenLayers玩(2.0)

原始帖子可以在ekito網站上找到。 對于我們的一位客戶,我們需要顯示一張具有實時更新的車輛位置的地圖。 因此,我開始使用Play制作原型! 框架及其最新發布的版本2.0,使用Java API。 我從Play的網絡聊天室開始! 2.0個樣…

同步時間

同步時間 [rootlocalhost 03]# ntpdate 0.centos.pool.ntp.org 轉載于:https://www.cnblogs.com/cglWorkBook/p/5556920.html

mysql 5.6.23免安裝_mysql5.6.23免安裝配置

1.官網下載,并解壓2.環境變量,path下,追加mysql的bin路徑D:\Program Files\mysql\bin;3.mysql目錄下的my-default.ini重命名為my.ini,并添加下面的代碼basedirD:/Program Files/mysql #mysql路徑datadirD:/Program Files/mysql/d…

在Intellij IDEA中運行Vaadin應用

在本文中,我將向您展示如何使用Intellij IDEA運行vaadin應用程序。 Vaadin提供了一些用于Eclipse和Netbeans的插件。 但是對于Intellij IDEA來說,還沒有插件。 但是部署vaadin應用程序比其他兩個IDE容易。 這是您要遵循的步驟。 1.首先創建一個新項目&am…

mysql主從數據庫

Mysql主從配置,實現讀寫分離 大型網站為了軟解大量的并發訪問,除了在網站實現分布式負載均衡,遠遠不夠。到了數據業務層、數據訪問層,如果還是傳統的數據結構,或者只是單單靠一臺服務器扛,如此多的數據庫連…

安裝openstack時遇到的錯誤

學習opensatck的第一步是安裝DevStack來進行本機操作 1. 下面命令沒有權限,解決辦法:切換到root用戶下執行sudo -s echo "stack ALL(ALL) NOPASSWD: ALL" >> /etc/sudoers2. 執行下面命令提示沒有git,解決辦法:su…

Java EE 6示例– Galleria –第3部分

關于Galleria示例的先前文章( 第1 部分 | 第2部分 | 第3部分 | 第4部分 )指導您完成基礎知識以及對GlassFish和WebLogic的初始部署。 從今天開始,我嘗試在其中添加一些企業級功能,因為我發現他們在自己的項目中提出了很多要求。 我…

在 Windows 上測試 Redis Cluster的集群填坑筆記

redis 集群實現的原理請參考http://www.tuicool.com/articles/VvIZje集群環境至少需要3個節點。推薦使用6個節點配置,即3個主節點,3個從節點。新建6個文件夾 分別是 7000/7001/7002/7003/7004/7005將redis.windows.conf 復制一份然后修改配置文件中的下面…

不成為編程天才的5種貢獻方式

安迪萊斯特(Andy Lester)早在三月發布了原始指南,其中介紹了14種不成為編程天才或搖滾明星的貢獻開源的方法 ,我真的很喜歡這個想法。 這就是為什么我決定稍微采納一下這篇文章,并告訴您如何以及可以做什么來支持自己喜…

mysql數據庫設計與應用答案智慧樹_智慧樹_MySQL數據庫設計與應用_完整免費答案...

單位工程施工組織設計的技術經濟指標體系包括有()。A.工期指標B.勞動指標C.臺班利用率D.成本降低大跨徑橋梁采用()將會取得良好的技術經濟效益。A.橫移法施工B.頂推法施工C.轉體法施工D&#xf…

拓撲排序最長鏈-P3119 [USACO15JAN]草鑒定Grass Cownoisseur

https://www.luogu.org/problem/show?pid3119 本來我是來練習tarjan的,結果tarjan部分直接copy了,反而拓撲排序部分想了好久; 這道題SZB大神兩次就AC; 但我等到AC,寫好題解就只能洗洗睡了; 唉~ 差距怎…

談談父類和子類的隔離性

以前寫代碼知道要給類外設置訪問接口, 例如下例: 1 class Money2 {3 public:4 Money(int money) : m_curValue(money){}5 6 void store(int money) { m_curValue money;}7 void spent(int money){ m_curValue - money;}8 private:9 int m_curValue…

用于數據庫測試的DBUnit,Spring和注釋

如果您曾經嘗試用Java編寫數據庫測試&#xff0c;則可能會碰到DBUnit 。 DBUnit允許您設置和拆除數據庫&#xff0c;以便它包含可針對其編寫測試的一致行。 通常&#xff0c;您可以通過編寫一個簡單的XML文檔來指定要DBUnit插入的行&#xff0c;例如&#xff1a; <?xml ve…

阿里云centos 7.6安裝mysql_阿里云Centos7上安裝MySQL教程

1 基本安裝過程1.查看系統是否安裝了mysql軟件# rpm -qa|grep -i mysql2.將已經安裝過的軟件卸載掉。注意&#xff1a;這樣的卸載是不徹底&#xff0c;不過這里夠用了# yum remove 軟件名3.CentOS 7的yum源中默認是沒有mysql的。所以&#xff0c;為了解決這個問題我們首先下載安…