awk gsub Z無法替換的問題

2021-08-29 18:17:43 字數 2514 閱讀 3908

在學習《shell指令碼學習指南》一書時遇到了乙個問題:

gsub("^z", "\n")無法被替換回去

問題解決:加上轉義符,並且要加上雙反斜槓

gsub("\\^z", "\n")

比較讓人疑問的是前面的替換並沒有要求加上反斜槓

gsub("\n", "^z")或者gsub("\n", "\^z")

如果加上gsub("\n", "\\^z")則會多出乙個/

下面是案例:

[liujing@localhost testfiles]$ cat friends 

# sortkey: schlob, hans jurgen

hans jurgen schlob

unter den linden 78

d-10117 berlin

germany

# sortkey: jones, adrian

adrian jones

371 mongomery park road

henley-on-thames rg9 4aj

uk# sortkey: brown, kim

kim brown

1841 s main street

westchester, ny 10502

usa

將文字中的\n換行符替換成^z

[liujing@localhost testfiles]$ cat friends | awk -v rs="" ''

# sortkey: schlob, hans jurgen^zhans jurgen schlob^zunter den linden 78^zd-10117 berlin^zgermany

# sortkey: jones, adrian^zadrian jones^z371 mongomery park road^zhenley-on-thames rg9 4aj^zuk

# sortkey: brown, kim^zkim brown^z1841 s main street^zwestchester, ny 10502^zusa

不區分大小寫的排序

[liujing@localhost testfiles]$ cat friends | awk -v rs="" ''| sort -f 

# sortkey: brown, kim^zkim brown^z1841 s main street^zwestchester, ny 10502^zusa

# sortkey: jones, adrian^zadrian jones^z371 mongomery park road^zhenley-on-thames rg9 4aj^zuk

# sortkey: schlob, hans jurgen^zhans jurgen schlob^zunter den linden 78^zd-10117 berlin^zgermany

將^z替換成\n換行符

[liujing@localhost testfiles]$ cat friends | 

> awk -v rs="" '' |

> sort -f |

> awk -v ors="\n\n" ''

# sortkey: brown, kim

kim brown

1841 s main street

westchester, ny 10502

usa# sortkey: jones, adrian

adrian jones

371 mongomery park road

henley-on-thames rg9 4aj

uk# sortkey: schlob, hans jurgen

hans jurgen schlob

unter den linden 78

d-10117 berlin

germany

去除注釋

[liujing@localhost testfiles]$ cat friends | 

> awk -v rs="" '' |

> sort -f |

> awk -v ors="\n\n" '' |

> grep -v '# sortkey'

kim brown

1841 s main street

westchester, ny 10502

usaadrian jones

371 mongomery park road

henley-on-thames rg9 4aj

ukhans jurgen schlob

unter den linden 78

d-10117 berlin

germany

spring佔位符無法替換的報錯排查

jdk 1.8 mybatis 3.4.5 spring 5.1.9 專案遷移到springboot後,啟動報錯,概要資訊是說某乙個佔位符 並非真實的佔位符名稱 找不到。propertyplaceholderconfigurer裡面的配置資訊沒有載入到。有某些bean觸發了提前初始化,導致prope...

字元替換問題

問題描述 輸入兩個字串str1和p,將str1中的某個字元替換為字串p。分析 這個問題其實就是程式語言裡的字元替換庫函式,我們需要自己去實現,需要找出一種高效的辦法,對於這道題存在兩種解法。解法一 從頭開始掃瞄字串str1,每次遇到空格後,插入字串p,再插入字串p之前,需要先將空格後面的字元往後挪位...

vue熱更新無法關閉 vue 無法熱替換 熱更新

雖然我並不是用對方的方法解決的。熱替換 熱更新原理 引用1 講解一下熱替換的原理 熱替換是在執行npm run dev後,會啟動乙個本地伺服器 webpack dev server 這個伺服器會觀察源 編譯出來的檔案。一旦修改了源 就會立刻編譯源 然後觀察新編譯後的檔案,接下來替換。我的解決辦法 特...