成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux命令三劍客:grep、sed、awk

系統 Linux
grep命令主要用于文本內容的查找。sed命令主要用于文本內容的編輯。awk命令主要用于文本內容的分析處理。

一、grep

grep命令主要用于文本內容的查找。它支持正則表達式查找,命令格式為:

 

  1. grep [option] pattern filename 

例如:在filename文本中查找包含”text”的行: 

  1. grep "text" filename 

這條命令默認只輸出匹配的文本行 

  1. option為-o時,命令行只輸出匹配的文本  
  2. option為-v時,命令行只輸出沒有匹配的文本行  
  3. option為-R -r時,匹配目錄下的所有文件  

二、sed

sed命令主要用于文本內容的編輯。默認只處理模式空間,不處理原數據,而且sed是針對一行行數據來進行處理的。

sed的命令格式為: 

  1. sed [option] 'command' filename 

option常用選項有以下: 

  1. -n:使用安靜(silent)模式。  
  2.  在一般sed的用法中,所有來自stdin的數據一般都會被列出到終端上。  
  3.  但如果加上-n參數后,則只有經過sed特殊處理的那一行(或者動作)才會被列出來。  
  4. -e:直接在命令列模式上進行sed的動作編輯。  
  5. -i:直接修改讀取的文件內容,而不是輸出到終端。 

command可以分為以下幾種: 

  1. a:追加,a的后面可以接字串,而這些字串會在新的一行出現(目前的下一行)  
  2. i:插入,i的后面可以接字串,而這些字串會在新的一行出現(目前的上一行)  
  3. d:以行為單位的刪除  
  4. c:以行為單位的替換,c的后面可以接字串  
  5. s:在行中搜尋并替換  
  6. p:以行為單位的顯示,通常p會與參數sed -n一起運行 

例如:

1、在filename文本最后一行追加hello world: 

  1. sed '$a hello world' filename 

2、在filename文本第一行插入hello world: 

  1. sed '1i hello world' filename 

3、既要在最后一行追加hello world,又要在第一行插入hello world: 

  1. sed -e '$a hello world' -e '1i hello world' filename 

另外,sed比較常用的就是文本替換,它也支持正則表達式,功能強大。

例如:

1、表示將filename文本的每行中的oldstring替換為newstring:

  1. sed 's/oldstring/newstring/g' filename  

2、刪除空白行: 

  1. sed '/^\s*$/d' filename 

PS:正則表達式中\s表示空白字符(包括,空格,制表符等)

三、awk 

awk命令主要用于文本內容的分析處理。

如果對處理的數據需要生成報告之類的信息,或者處理的數據是按列進行處理的,使用awk。

awk讀入有’\n’換行符分割的一條記錄,然后將記錄按指定的域分隔符劃分域,$0則表示所有域,$1表示第一個域,$n表示第n個域。

例如:以”:”分隔filename文本的每一行并且打印第一列 

  1. awk -F ':' '{print $1}' filename 

打印可以采用print函數,如果需要格式化打印,則類似C語言一樣采用printf函數。

練習:sed和awk定制化顯示舉例

1、可以制作一個文本test.txt,內容為: 

  1. This is my cat, my cat's name is betty  
  2. This is my dog, my dog's name is frank  
  3. This is my fish, my fish's name is george  
  4. This is my goat, my goat's name is adam 

需要顯示的結果為: 

  1. cat:betty  
  2. dog:frank  
  3. fish:george  
  4. goat:adam  

如果采用sed,可以輸入 

  1. sed 's/This is my \(.*\),.*is \(.*\)/\1:\2/g' test.txt 

如果采用awk,則有兩種方法 

  1. awk -F '[ ,]' '{print $4,$10}' OFS=":" test.txt   
  2. awk -F '[ ,]' '{printf("%s:%s\n",$4,$10)}' test.txt  
  3. awk -F, '{print $1,$2}' test.txt|awk '{print $4,$9}' OFS=":"  

 

責任編輯:龐桂玉 來源: 今日頭條
相關推薦

2019-06-27 10:06:54

Linux 性能工具

2021-05-13 10:25:29

Linuxgrep命令

2023-09-05 10:04:35

Linux運維

2023-10-04 00:20:31

grepLinux

2021-03-15 07:39:48

LinuxAwk 語言

2011-03-28 16:04:44

nagios

2025-05-12 08:35:00

Linux文本處理工具運維

2009-02-26 18:22:49

桌面虛擬化Linux

2010-02-04 16:22:21

2017-07-25 08:53:14

CorrectLinkCCA-SD算法

2024-06-04 00:20:00

Python函數

2009-02-27 09:10:53

Linux操作系統虛擬化三劍客

2018-05-04 15:18:01

DockerDocker Comp容器

2014-11-26 10:18:32

Cloud Setupwindows在線打包工具

2025-02-10 08:10:00

Linuxsed命令

2009-03-19 20:52:58

LinuxPHPCMS

2011-04-11 11:01:03

AndroidHTC蘋果

2011-08-06 23:58:34

愛普生投影機

2011-07-04 09:07:54

2023-11-25 17:08:47

ChatbotLLAMALangChain
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品乱码一二三区的特点 | 午夜精品一区二区三区在线视 | 欧美在线观看一区 | 日韩中文字幕在线视频 | 亚洲精品一区二区网址 | 在线观看亚洲一区二区 | 91性高湖久久久久久久久_久久99 | 国产在视频一区二区三区吞精 | 日韩高清一区二区 | 国产日韩一区二区三免费高清 | 成人二区| 97视频成人 | 国产精品一区二区三区久久 | 国产精品一区三区 | 欧美又大粗又爽又黄大片视频 | 精品美女久久久 | 成人免费网站www网站高清 | 成人九色 | 午夜私人影院在线观看 | 玖玖爱365 | 日韩亚洲一区二区 | 国产91视频一区二区 | 激情小视频| 久久国产精品网站 | 欧美在线视频网站 | 99久久精品免费看国产四区 | 成人激情视频免费观看 | 国产精品欧美精品 | av中文在线 | 狠狠入ady亚洲精品经典电影 | 夜夜操操操 | 手机在线观看av | 在线视频国产一区 | 国产a爽一区二区久久久 | 自拍视频网站 | 久久久久久久久久久久久久久久久久久久 | 超碰在线播| 欧美精三区欧美精三区 | 欧美国产日韩一区 | 亚洲色图综合 | 国产乱码精品1区2区3区 |