Shell腳本之sed的使用

1.sed命令;主要作用是查找;新增 刪除 和修改替換。

user.txt?

daokr#cat user.txt
ID    Name    Sex    Age
1    zhang    M    19
2    wang    G    20
3    cheng    M    10
4    huahua    M    100

查找命令:-n 和 p(print)

在user.txt文件中;匹配帶h的行 并且只顯示1,3行

cat user.txt | grep h |sed -n '1,3p'

daokr#cat user.txt | grep h |sed -n '1,3p'
1    zhang    M    19
3    cheng    M    10
4    huahua    M    100

刪除命令:d(delete)

刪除最后一行記錄

? ?cat user.txt | grep h | sed '$d'

在user.txt中顯示帶h的行;并且從結果中刪掉2,3行的記錄;只看第一行記錄

cat user.txt | grep h |sed '2,3d'
daokr#cat user.txt | grep h
1    zhang    M    19
3    cheng    M    10
4    huahua    M    100
daokr#cat user.txt | grep h |sed '2,3d'
1    zhang    M    19

新增數據:a (append)

在user.txt中查詢出帶h的行;并在第二行后面添加新的一行數據

cat user.txt | grep h |sed '2a5\thuang\tG\t40'

前面插入:i (insert)

在第二行插入2行數據的簽名插入新增的數據:

cat user.txt | grep h |sed '2i hello\nword'

?

數據行替換:c

把第二行數據;用命令c替換成 10  wanghua  N  90

cat user.txt | grep h |sed '2c 10\twanghua\tN\t90'

字符串的替換:s?

格式為“行范圍s/舊字串/新字串/g”

daokr#cat user.txt | grep h
1    zhang    M    19
3    cheng    M    10
4    huahua    M    100
daokr#cat user.txt | grep h |sed '2s/ch/wh/g'
1    zhang    M    19
3    wheng    M    10
4    huahua    M    100

替換并寫入文件:-i

把第3行的數據里的wang 替換成heee 并寫入到user.txt

?

sed -i '3s/wang/heee/g' user.txt

?

daokr#sed -i '3s/wang/heee/g' user.txt
daokr#cat user.txt 
ID    Name    Sex    Age
1    Fhang    M    19
2    heee    G    20
3    cheng    M    10
4    huahua    M    100

多行替換:-e

sed -e 's/zhang//g ; s/wang//g' user.txt? ? # -e允許多條命令順序執行,用分號隔開,s前面不加數字表示所有行

?

sed -e 's/he/wl/g;s/hua/lua/g' user.txt

daokr#sed -e 's/he/wl/g;s/hua/lua/g' user.txt
ID    Name    Sex    Age
1    Fhang    M    19
2    wlee    G    20
3    cwlng    M    10
4    lualua    M    100

?

轉載于:https://www.cnblogs.com/wanglijun/p/8716265.html

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

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

相關文章

.NET周報【11月第4期 2022-11-30】

國內文章.NET 7 的 AOT 到底能不能扛反編譯?https://www.cnblogs.com/huangxincheng/p/16917197.html在 B 站,公眾號上發了一篇 AOT 的文章后,沒想到反響還是挺大的,都稱贊這個東西能抗反編譯,可以讓破解難度極大提高&…

結合hello world探討gcc編譯程序的過程

本博客(http://blog.csdn.net/livelylittlefish)貼出作者(三二一小魚)相關研究、學習內容所做的筆記,歡迎廣大朋友指正! 結合"hello world"探討gcc編譯程序的過程 1. gcc簡介 gcc/g是GNU工程的C和…

Powershell 時間相關

1.時間相差秒數計算 $start Get-Date Get-HotFix $end Get-Date Write-Host -ForegroundColor Red (Total Runtime: ($end - $start).TotalSeconds)//若開始時間保存為字符串$startTime Get-Date -Format yyyyMMddTHH:mm:ss $startTime[datetime]::ParseExact("$sta…

java類中,成員變量賦值第一個進行,其次是靜態構造函數,再次是構造函數

如題是結論,如果有人問你Java類的成員初始化順序和初始化塊知識就這樣回答他。下面是代碼: package com.test;public class TestClass{// 成員變量賦值第一個執行private static int m11;private int m21;// 靜態構造函數第二個執行static{System.out.pr…

Unity的未來,是固守Mono,還是擁抱CoreCLR?

TLDR;Unity堅定的擁抱.NET標準生態,正全速向CoreCLR遷移。Mono vs CoreCLR對于一個C#的初學者,首先要了解的便是.NET和C#的關系。所以這里不再贅述。對于一個Unity的初學者,在使用C#編碼的過程中,一定會遇到一些C#新特性不能在項目…

hinton教授的本科生課程CSC321-機器學習中的神經網的筆記

最近一直在看仙守博友所記錄的筆記 Hinton的CSC321課程(完結,待文字潤色): 1、lecture1-NN的簡介 2、lecture2-NN結構的主要類型的概述和感知機 3、lecture3-線性神經元和算法 4、lecture4-神經網絡在語言上的應用 5、lecture5-對…

ASP存儲過程參數數據類型

ASP調用存儲過程一般的方法: p.Append cmd.CreateParameter("參數名稱",類型,方向,大小) 參許參數值的類型的意義如下: 名稱值 整數值 功能 adDBTimeStamp 135 日期時間數據類型 adDecimal 14 十進制整數值 adDouble …

powershell 啟動線程與關閉線程

啟動線程 $ScreenCapture"C:\ResolutionTool\ScreenCapture.exe" Start-Process $ScreenCapture 關閉線程 Get-Process ScreenCapture| Stop-Process

HDU 5673 Robot 卡特蘭數

題目鏈接: http://acm.hdu.edu.cn/showproblem.php?pid5673 題目描述: 一個人從原點開始向右走, 要求N秒后回到原點, 且過程中不能到負半軸, 人有兩種操作, 走動或者停止, 問總共有多少種方案&…

刪除本地賬戶無法登錄電腦_如何從Windows的登錄屏幕中刪除本地用戶帳戶

刪除本地賬戶無法登錄電腦If you have multiple user accounts on your computer, you might find it annoying to have to click on the icon for your username each time you start up the computer. To remedy this problem, you can hide a user account with a registry …

tarjan算法詳解

https://blog.csdn.net/jeryjeryjery/article/details/52829142?locationNum4&fps1 以防鏈接失效,特此轉載此博,如有侵權請見諒 在有向圖G中,如果兩個頂點間至少存在一條路徑,稱兩個頂點強連通(strongly connected)。如果有向…

Gitlab簡單使用CI/CD

開篇語大概是去年就想做這個事情了,奈何當時卡到一個docker命令找不到的問題上,導致文章難產了,墨跡了這么久,終于又有空來搗鼓它了。目的我們要實現的目的是我本地不斷提交代碼(CI),然后服務器不斷進行部署(CD)的一個簡單流程。準…

AppleScript: Handler

AppleScript絕對是個奇葩的存在!不管功能有多強大。 Handler有兩種,一種是和OC類似的使用Label參數,一種是和javascript類似的使用括號把一堆參數都放在里面的。 label參數的Handler的寫法非常奇怪,光看文檔絕對讓人迷糊。這里按照…

powershell 運行策略

Unrestricted 這是一種比較寬容的策略,允許運行未簽名的腳本。對于從網絡上下載的腳本,在運行前會進行安全性提示: Set-ExecutionPolicy UnRestricted

免費的數字圖書館_不僅是書籍:您當地圖書館可能提供的所有免費數字資料

免費的數字圖書館You might think of libraries as old fashioned, or irrelevant in the age of the internet. You’d be wrong. 您可能會認為圖書館是老式的,或者與互聯網時代無關。 你會錯的。 Modern libraries offer books, yes, but they also provide inter…

iNeuOS工業互聯網操作系統,腳本化實現設備運行時長和效率計算與統計

目 錄1. 概述... 22. 實時采集開停狀態... 23. 增加虛擬設備... 24. 腳本統計和計算設備運行時長... 45. 設備運行時長報表... 71. 概述有一個煤礦項目,使用iNeuOS系統時有一個需要是:要統計設備的運行時長&#xff0c…

webpack二(以webpack4.x起步)

一.基本安裝首先我們要創建一個目錄,初始化npm,以及在本地安裝webpack:復制代碼mkdir webpackapp && cd webpackapp復制代碼npm init -y復制代碼npm install --save-dev webapck復制代碼現在我們看一下我們創建的目錄以及目錄下的結構…

阿里云中間件是什么-阿里云中間件介紹

阿里云中間件是什么?這其實是一個比較虛的概念。廣義的中間件范圍很廣。起溝通作用的都可以認為是中間件。甚至ODBC這樣的東西你也可以認為是中間件。 使用了中間件之后,以前直接連接的前臺應用程序和數據庫之前就多了個中間件,現在前臺程序把請求發給…

C# 圖片、文件等加入Project Resources

一、目的 1.編譯后,只想有一個exe文件,不想外部文件引用,直接運行exe文件即可。 2.不會出現文件丟失情況。 二、操作 1.右擊project ->properties->Resource,左上角選擇Image(或其他類型) 2. 點擊…

jfinal使用shiro注解大體流程

2019獨角獸企業重金招聘Python工程師標準>>> 上一篇答題梳理了jfinal整合shiro的流程,jfinal讀取shiro注解,這一篇將作為補充。 1.JFinalShiroPlugin作者為shiro的RequiresRoles,RequiresPermissions, RequiresAuthent…