寶付揭秘Linux支付命令操作之grep、sed、awk
一、grep
grep命令主要用於文字內容的查詢。它支援正規表示式查詢,命令格式為:
grep [option] pattern filename
例如:在filename文字中查詢包含”text”的行:
grep "text" filename
這條命令預設只輸出匹配的文字行
option為-o時,命令列只輸出匹配的文字 option為-v時,命令列只輸出沒有匹配的文字行 option為-R -r時,匹配目錄下的所有檔案 二、sed
sed命令主要用於文字內容的編輯。預設只處理模式空間,不處理原資料,而且sed是針對一行行資料來進行處理的。
sed的命令格式為:
sed [option] 'command' filename
option常用選項有以下:
-n:使用安靜(silent)模式。 在一般sed的用法中,所有來自stdin的資料一般都會被列出到終端上。 但如果加上-n引數後,則只有經過sed特殊處理的那一行(或者動作)才會被列出來。 -e:直接在命令列模式上進行sed的動作編輯。 -i:直接修改讀取的檔案內容,而不是輸出到終端。
command可以分為以下幾種:
a:追加,a的後面可以接字串,而這些字串會在新的一行出現(目前的下一行) i:插入,i的後面可以接字串,而這些字串會在新的一行出現(目前的上一行) d:以行為單位的刪除 c:以行為單位的替換,c的後面可以接字串 s:在行中搜尋並替換 p:以行為單位的顯示,通常p會與引數sed -n一起執行
例如:
1、在filename文字最後一行追加hello world:
sed '$a hello world' filename
2、在filename文字第一行插入hello world:
sed '1i hello world' filename
3、既要在最後一行追加hello world,又要在第一行插入hello world:
sed -e '$a hello world' -e '1i hello world' filename
另外,sed比較常用的就是文字替換,它也支援正規表示式,功能強大。例如:
1、表示將filename文字的每行中的oldstring替換為newstring:
sed 's/oldstring/newstring/g' filename
2、刪除空白行:
sed '/^\s*$/d' filename
PS:正規表示式中\s表示空白字元(包括,空格,製表符等)
三、awk
awk命令主要用於文字內容的分析處理。
如果對處理的資料需要生成報告之類的資訊,或者處理的資料是按列進行處理的,最好使用awk。
awk讀入有’\n’換行符分割的一條記錄,然後將記錄按指定的域分隔符劃分域,$0則表示所有域,$1表示第一個域,$n表示第n個域。
例如:以”:”分隔filename文字的每一行並且列印第一列
awk -F ':' '{print $1}' filename
列印可以採用print函式,如果需要格式化列印,則類似C語言一樣採用printf函式。
練習:sed和awk定製化顯示舉例
1、可以製作一個文字test.txt,內容為:
This is my cat, my cat's name is betty This is my dog, my dog's name is frank This is my fish, my fish's name is george This is my goat, my goat's name is adam
需要顯示的結果為:
cat:betty dog:frank fish:george goat:adam
如果採用sed,可以輸入
sed 's/This is my \(.*\),.*is \(.*\)/\1:\2/g' test.txt
如果採用awk,則有兩種方法
awk -F '[ ,]' '{print $4,$10}' OFS=":" test.txt awk -F '[ ,]' '{printf("%s:%s\n",$4,$10)}' test.txt awk -F, '{print $1,$2}' test.txt|awk '{print $4,$9}' OFS=":"
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69905323/viewspace-2657137/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux命令之grep/sed/awk等行轉列Linux
- Linux 三劍客 Awk、Sed、Grep 命令詳解Linux
- Linux三劍客Awk、Sed、Grep 命令詳解Linux
- Linux系統中的管道命令、grep命令、sed命令和awk命令Linux
- Linux三劍客grep、awk和sedLinux
- Linux:管道命令與文字處理三劍客(grep、sed、awk)Linux
- 【Linux進階】使用grep、find、sed以及awk進行文字操作Linux
- 效能工具之linux三劍客awk、grep、sed詳解Linux
- linux三劍客(grep、sed、awk)基本使用Linux
- 寶付揭秘支付JAVE程式碼
- 指令碼三兄弟 grep、awk、sed指令碼
- 寶付揭秘移動支付如何辦公?
- 【Shell】sed xargs grep awk的組合用法
- linux之 sed命令Linux
- linux命令之grepLinux
- 寶付揭秘elk大資料與支付的秘密大資料
- 寶付揭秘人工智慧支付的五種程式人工智慧
- shell指令碼專題-----cat,find,grep,awk,sed(五)指令碼
- grep 、awk
- 【Linux命令】grep命令Linux
- Linux sed命令常用操作詳解及案例!Linux
- LINUX命令-sedLinux
- Linux grep 命令Linux
- Linux重要命之sed命令詳解Linux
- Linux命令篇 - sed 命令Linux
- 006 Linux 命令三劍客之-grepLinux
- Linux命令篇 - grep 命令Linux
- 007 Linux 命令三劍客之-awkLinux
- Linux sed命令用法Linux
- linux的awk命令Linux
- Linux入門教程之sed 命令常用操作介紹Linux
- linux每日命令(35):grep命令Linux
- Linux命令:grep命令AND、OR、NOT例項Linux
- linux之sedLinux
- Linux sed 命令詳解Linux
- Linux命令-Sed用法教程Linux
- Linux grep命令的使用Linux
- Linux基礎命令---grepLinux