非互動的編輯器之sed
注:sed 是逐行處理的
sed文字處理工具的用法:
- 用法1:前置命令 | sed [選項] '條件指令'
- 用法2:sed [選項] '條件指令' 檔案.. ..
相關說明如下:
- 條件可以是行號或者/正則/
- 沒有條件時,預設為所有條件
- 指令可以是增、刪、改、查等指令
- 預設sed會將所有輸出的內容都打印出來,可以使用-n遮蔽預設輸出
- 選項中可以使用-r選項,讓sed支援擴充套件正則
下面是介紹一些選項和基本用法
sed命令的常用選項如下:
-n(遮蔽預設輸出,預設sed會輸出讀取文件的全部內容)
-r(讓sed支援擴充套件正則)/正則/
-i(sed直接修改原始檔,預設sed只是通過記憶體臨時修改檔案,原始檔無影響)
sed 的常用條件指令
p 列印
d 刪除
s/old/new/ 替換 也可用來做一些字串的刪除
下面介紹一下具體的用法
指令p
- [[email protected] ~]# sed '1p' /etc/hosts 列印檔案的第一行 但由於沒有加-n選項所以預設會列印整個檔案
- 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
- 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.
- ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
- [[email protected] ~]# sed -n '1p' /etc/hosts 列印檔案的第一行 (遮蔽預設輸出)
- 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
01. [[email protected] ~]# sed -n
- [[email protected] ~]# sed -n '3p;5p' /etc/passwd 列印第3和5行
- [[email protected] ~]# sed -n '3,+10p' /etc/passwd 列印第3以及後面的10行
- [[email protected] ~]# sed -n '1~2p' /etc/passwd 列印奇數行 【這裡就是列印 1 1+2 1+2+2......】
- [[email protected] ~]# sed -n '2~2p' /etc/passwd 列印偶數行
- [[email protected] ~]# sed -n '$=' /etc/passwd 輸出檔案的行數
d 指令同p指令 測試時可不加-n選項可以直觀看出效果
s/old/new/ 替換指令
- [[email protected] ~]# vim test.txt //新建素材
- 2017 2011 2018
- 2017 2017 2024
- 2017 2017 2017
- [[email protected] ~]# sed 's/2017/xxxx/' test.txt 把每行的第一個2017替換成xxxx
- [[email protected] ~]# sed 's/2017/xxxx/g' test.txt 把每行所有的2017替換成xxxx
- [[email protected] ~]# sed 's/2017/xxxx/2' test.txt 把每一行的第二個2017替換成xxxx
- [[email protected] ~]# sed 's/2017//2' test.txt 刪除每一行的第二個2017
下面介紹一下sed的一些正則用法
[[email protected] ~]# sed -n '/^root/p' /etc/passwd 找出以root開頭的並列印
[[email protected] ~]# sed -n '/bash$/p' /etc/passwd 找出以bash結尾的並列印
[[email protected] ~]# sed 's#/bin/bash#/sbin/sh#' /etc/passwd 將/bin/bash替換成/sbin/sh 【這裡相當於s#old#new#】
- [[email protected] ~]# cat nssw.txt 新建素材
- Hello the world
- ni hao ma beijing
- [[email protected] ~]# sed 's/.//2 ; s/.$//' nssw.txt
- 刪除檔案中每行的第二個、最後一個字元分兩次替換操作,第一次替換掉第2個字元,第二次替換掉最後一個字元
- [[email protected] ~]# sed -r 's/^(.)(.*)(.)$/\3\2\1/' nssw.txt 將檔案中每行的第一個、倒數第1個字元互換
- 將每行文字拆分為“第1個字元”、“中間的所有字元”、“倒數第1個字元”三個部分,然後通過替換操作重排順序為“3-2-1”
- [[email protected] ~]# sed 's/([A-Z])/[\1]/g' nssw.txt 為檔案中每個大寫字母新增括號使用 “()”可實現保留功能
注:1.正則的用法用法還有很多就不一 一列舉了具體可以按實際的要求操作sed預設不支援擴充套件正則所以使用擴充套件正則時需加-r選項
2.建議在使sed修改檔案是先不要加-i選項測試無誤後方可加上-i選項
相關推薦
非互動的編輯器之sed
注:sed 是逐行處理的 sed文字處理工具的用法: 用法1:前置命令 | sed [選項] '條件指令' 用法2:sed [選項] '條件指令' 檔案.. .. 相關說明如下: 條件可以是行號或者/正則/ 沒有條件時,預設為所有條件 指令可以是增、刪、改、查
Unity3D編輯器之重寫Hierarchy的右鍵菜單
col art n) 條件 any rect obj lan dga 1 using UnityEngine; 2 using UnityEditor; 3 using System.Collections; 4 5 public class MyHiera
編輯器之神-vim
height linu spa 所有 所在 刪除 space 代碼 ges vi簡介 vi是“Visual interface”的簡稱,它在Linux上的地位就仿佛Edit程序在DOS上一樣。它可以執行輸出、刪除、查找、替換、塊操作等眾多文本操作,而且用戶可以根據自己的需要
新手入門之——Ubuntu上的編輯器之神Vi / Vim
正常 必須 進步 align 單個 顯示 三種 三種模式 .py Ubuntu上的編輯器有gedit、vi、sublime等。gedit一般在沒有其他編輯器時臨時使用,大部分情況下,vi和sublime使用的比較多,Linux系統內置了vi和sublime,其中,sub
百度編輯器之使用與常見問題
dialog ont mage arch 參考 問題 spa 常見 圖片 最近,我們後臺使用的編輯器用於需求的變更換成了百度編輯器,在使用的時候碰到了一些問題,總結在此 參考完檔: http://fex.baidu.com/ueditor/ 一. 初始化
Typora:簡潔強大的Markdown編輯器之安裝
all png fire block www com 平臺 download https 概述: Markdown由Daring Fireball創建,是一款簡潔強大的多平臺Markdown編輯器,例如:Mac、Windows、Linux等平臺均可以安裝使用。如圖: 下
Sql Server2008 中的活動監視器、物件資源管理器詳細資訊、搜尋、查詢編輯器之IntelliSense (轉)
Management Studio首次出現在MSSQL2005中,到MSSQL2008中已經成為了一個更成功的產品。其中在SSMS2008中最重要的特性如下: 1.活動監視器 2.物件資源管理器詳細資訊 3.搜尋 4.查詢編輯器之IntelliSense &nb
Linux基礎:文字編輯器之神vim的基本操作
vi是Linux底下最常用的一款強大的文字編輯器(vim是vi的升級版,在其基礎上加入了一些新特性),用起來很Coooooool酷!大概是處於鄙視層的最頂端這個級別,讓我們一起膜拜一下吧(^__^) 。 vi的三種工作模式 編輯模式 游標定位: k/j/h/l 分別是
Typora:簡潔強大的Markdown編輯器之Markdown語法
目錄 一看就懂的Markdown語法 一、Markdown簡介 二、編輯工具推薦 三、語法 1.標題 2.列表 3.引用 4.加粗、斜體等 5.連結與圖片 6.更改圖片大小 7.
Unity 編輯器之Inspector面板編輯
編輯器有很多類:編輯器類。例如:EditorGUI(編輯器介面),EditorGUILayout(編輯器介面佈局),EditorGUIUtility(編輯器介面工具)等等這些,都是編輯器對介面進行編輯。 EditorGUILayout 編輯器介面佈局 介面的相關事件機制總共有9個: 1.
Linux中Vi編輯器之簡單常用命令
Vi是Linux中最基本的文字編輯器。vi可以分為三種狀態,分別是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能區分如下: 1) 命令列模式command mode) 控制螢
編輯器之神-vim的使用技巧
vim VS. emacs vim被譽為編輯器之神,而emacs被譽為神之編輯器。中國文化博大精深,他們究竟有什麼區別呢?作為emacs小白的我來說不想在這裡獻醜,直接貼上一篇部落格,有興趣的同學可以深入研究或者自行百度https://www.v2ex.com/t/3325
vim 編輯器和 sed 命令的字串替換
一、vim編輯器字串替換 1、開啟需要編輯的檔案 2、執行如下命令 #oldstring 為需要被替換的字串 #newstring 用來替換的新字串 #替換是替換全部oldstring為newstring %s/oldstring/newstring/g 二、sed
unity編輯器之自動提示訂外賣
1、問題來源 事情一忙,忘記叫外賣是常有的事,到了12點同事們都吃上了飯,你卻只能捱餓,估計很多程式設計師都有這種經歷吧,這裡我們來做一個unity編輯器準點提示訂外賣服務的功能。 2、先上程
c編輯器之clion安裝,編譯,控制檯亂碼修復
1. 下載clion,注意安裝的時候選擇的目錄不能有任何中文字型。只能英文+數字 2.安裝完畢後,開啟軟體,選擇License Server,輸入:http://xidea.online 3.啟用完
Emacs和Vim:神的編輯器和編輯器之神(ZZ)
0. 序章:神器的傳說 在這個蔚藍色的星球上,流傳著兩大神器的傳說:據說Emacs是神的編輯器,而Vim是編輯器之神。 追求獨步天下的高手和低手們爭著一睹它們的風采,可看到它們樸素單薄的介面後,不禁心下懷疑:這就是神器嗎?甚至有人生了輕視之心。 膚淺的人嗤之以鼻,說
筆記5,vim ——編輯器之神
vi命令 命令模式: yy:複製 游標所在的這一行 4yy:複製 游標所在行開始向下的4行 p: 貼上 dd:剪下 游標所在的這一行
CSDN-markdown編輯器之從本機匯入Markdown檔案(一)
CSDN-markdown編輯器支援從本機匯入Markdown檔案的功能,如果你有從其它網站上下載的部落格文章或說明文件,或是用軟體編寫的部落格文章或說明文件,想釋出到CSDN部落格中,就可以使用本
VI編輯器之多檔案多屏操作
1、如何開啟多視窗: (1)不同檔案在不同視窗開啟 開啟方法: (1):e filename_path/filename 此時可以通過Tab鍵查詢目錄下的檔案,此時是重新開啟選定的檔案,前一個開啟的檔案將被關掉;不退出vi情況下開啟另一個檔案,一個視窗只顯示一個檔案。 (2
富文字編輯器之wangEditor
富文字編輯器想必大家都見過,無論是發表部落格還是論壇發帖、空間發表說說,這些軟體或網站都會用到富文字編輯器。那麼,作為programmer,我們如何給自己的程式碼加上一個富文字編輯器呢?實際的需求就是textarea這個標籤只能夠傳遞文字,而無法傳遞一些諸如