Shell正則對文字進行多行過濾匹配

2021-10-24 18:38:25 字數 550 閱讀 2277

目的:查詢*是語文、數學的行,在上面一行中新增class屬性

語文

語文

78數學

90

gsub函式則使得在所有正規表示式被匹配的時候都發生替換

gsub(regular expression, subsitution string, target string);簡稱 gsub(r,s,t) 

問題:echo "a b c 2020-10-14 a:d" | awk '$4=gsub(/-/,"",$4)'為啥 輸出後 2011-11-22 變成 2 了?

解答:gsub(/-/,"",$4)的值是2【在賦值的情況下是這樣的~】,你將2賦值給$4 ,gsub返回的是替換的次數。

1.grep -a -pzo "\\n.*\<\/td\>"  test.txt|tr "\n" " " |awk '' |sed '/^$/d' |awk -f '>' ''

2.egrep -azo "[[:space:]](.*)?" test.txt

用正則匹配多行文字

如果有這樣乙個字串 var src arr.c build.c eval.c field.c missing.c msg.c re.c version.c 用一般的 w s s 只能匹配上面的那句,而下面的那一句就無法匹配了 方法一 使用的是perl var src arr.c build.c ev...

IOS利用Core Text對文字進行排版

2011 12 08 11 10 core text 這個包預設是沒有的,要自己手動新增進來。在ios中利用core text對文字進行排版的幾個關鍵點如下 字間距 kctkernattributename 行間距 kctparagraphstylespecifierlinespacingadjus...

shell比對文字檔案

1,對於檔案中的字元是以換行結尾的如下 root py test cat 1.txt 1122 aa33 cc root py test cat 2.txt 11cc ddee ff 使用如下 root py test cat 2.sh while read line1 do while read ...