久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

文本處理三劍客(grep,sed,awk)

Linux文本處理三劍客:

grep:文本過濾工具

grep ?egrep=grep -e ?fgrep

sed:流編輯器 ?處理多個行

awk:文本編輯工具,格式化工具

grep?[OPTIONS] PATTERN [FILE…] :

文本處理搜索工具,根據用戶指定的“模式”對目標文本進行匹配檢查;打印匹配到的行

選項:

  • –color=auto: 對匹配到的文本著色顯示
  • -v: 顯示不被pattern匹配到的行
  • -i: 忽略字符大小寫
  • -n: 顯示匹配的行號
  • -c: 統計匹配的行數
  • -o: 僅顯示匹配到的字符串
  • -q: 靜默模式,不輸出任何信息
  • -A #: after, 顯示匹配到的行和后#行
  • -B #: before, 顯示匹配到的行和前#行
  • -C #:context, 顯示匹配到的行和前后各#行
  • -e: 實現多個選項間的邏輯or關系。grep –e ‘cat ’ -e ‘dog’ file
  • -w: 整行匹配整個單詞
  • -E: 使用擴展正則表達式
  • -F: 相當于fgrep,不支持正則表達式

grep命令使用簡單實例
1.顯示所有以d開頭的文件中包含 test的行

$ grep ‘test’ d*

2.顯示在aa,bb,cc文件中匹配test的行。

$ grep ‘test’ aa bb cc

3.顯示所有包含每個字符串至少有5個連續小寫字符的字符串的行。

$ grep ‘[a-z]\{5\}’ aa

4.如果west被匹配,則es就被存儲到內存中,并標記為1,然后搜索任意個字符(.*),這些字符后面緊跟著 另外一個es(\1),找到就顯示該行。

$ grep ‘w\(es\)t.*\1′ aa

如果用egrep或grep -E,就不用”\”號進行轉義,直接寫成’w(es)t.*\1′就可以了。

#有一點要注意,您必需提供一個文件過濾方式(搜索全部文件的話用 *)。如果您忘了,’grep’會一直等著,直到該程序被中斷。如果您遇到了這樣的情況,按 <CTRL c> ,然后再試。

sed ??[options] ‘command’ file(s)

sed?[options]?-f?scriptfile?file(s)

sed是一種流編輯器,它一次處理一行內容。處理時,把當前處理的行存儲在臨時緩沖區中,稱為“模式空間”( pattern space),接著用sed命令處理緩沖區中的內容 ,處理完成后,把緩沖區的內容送往屏幕。接著處理下一行,這樣不斷重復,直到文件末尾。文件內容并沒有改變 ,除非你使用重定向存儲輸出。Sed主要用來自動編輯一 個或多個文件,簡化對文件的反復操作,編寫轉換程序等

-n ? 不輸出模式空間中的內容到屏幕
-e ?多點編輯 ? 可以在一個sed命令中 ?同時處理多個腳本
-f ?每行一個編輯命令 ?sed 腳本
-r ? 支持擴展的正則表達式
-l ? 直接編輯原文件
地址定界:
1.空地址:對全文進行處理
2.單地址:
#:指定行;
/pattern/:被此模式所匹配到的行; 注意/ /雙斜線必須寫 ?這是格式要求

3.地址范圍:
#,#
#,+#
#,/pat1/
/pat1/,/pat2/
4.步進:(隔一行編輯)
1-2:所有的奇數行

2-2:所有的偶數行

編輯命令:
d: 刪除
p: ?顯示模式空間中的內容
a:\text:在行后面追加文本“text”,支持使用\n 實現多行追加
l:\text:在行前面插入文本“text”,支持使用\n實現多行插入 ? ? (轉義)
c:\text:把匹配到的行替換為此處指定的文本“text”(替換一整行而不是某一個)O
w: /PATH/TO/SOMEFILE:保存模式空間到的行至指定的文件中
r 把一個文件下的內容添加到所讀的文件中去 ?文件合并
比如 ?sed ‘3r /etc/fstab /etc/passwd
把/passwd這個文件添加到 ? /fastab中 ? 從第三行開始
= :為模式匹配到的行打印行號
!:條件取反 ?相當于^
地址定界!編輯命令
s///:查找替換,其分隔符可自行指定,常用的有s@@@,s###等
替換標記:
g:全局替換
w /PATH/HOMEFILE :將替換成功的結果保存至指定文件中
p:顯示替換成功的行

高級編輯命令:
h:把模式空間中的內容覆蓋至保持空間中
H:把模式空間中的內容追加至保持空間中
g:把保持空間中的內容覆蓋至模式空間中
G:把保存空間中的內容追加至模式空間中
x:把模式空間中的內容與保持空間中的內容互換
n:覆蓋讀取匹配到的行下一行至模式空間中
N:追加讀取匹配到的行下一行至模式空間中
d:刪除模式空間中的行
D:刪除多行模式空間中的所有行
示例
sed -n ‘n;p FILE :顯示偶數行
sed ‘1!G;h;$!d’ FILE :逆序顯示文件中的內容
sed ‘$!d FILE : 取出最后一行
sed ‘$!N;$!D’ FILE :顯示文件的后兩行
sed ’/^$/d;G FILE :刪除原有的所有的空白行 而后為每一行后面都加上空白行
sed ‘n;d’ FILE :顯示奇數行
sed ‘G’ FILE :在原有的每行后方添加一個空白行

注意:
sed -i 是直接修改原文件,不是在模式空間 慎重 慎重 慎重

awk是一個強大的文本分析工具,相對于grep的查找,sed的編輯,awk在其對數據分析并生成報告時,顯得尤為強大。簡單來說awk就是把文件逐行的讀入,以空格為默認分隔符將每行切片,切開的部分再進行各種分析處理。

相關新聞

歷經多年發展,已成為國內好評如潮的Linux云計算運維、SRE、Devops、網絡安全、云原生、Go、Python開發專業人才培訓機構!

    1. 主站蜘蛛池模板: 高陵县| 图片| 台东市| 遂平县| 南通市| 老河口市| 外汇| 印江| 永嘉县| 武鸣县| 龙山县| 闽侯县| 乌鲁木齐县| 嘉义市| 班玛县| 天等县| 浪卡子县| 哈巴河县| 彩票| 镇远县| 黔江区| 临猗县| 舞阳县| 香港| 孝昌县| 涞源县| 丽水市| 晴隆县| 北京市| 石楼县| 铁力市| 茶陵县| 桃源县| 明溪县| 长子县| 陇川县| 七台河市| 汉川市| 鹿泉市| 佛山市| 正定县|