[英]How to remove escape character in awk?
我試圖用awk連接兩個字符串。 其中之一似乎包含'\\ r':
stringA = "Hello\r"
stringB = "Hi"
print stringA stringB
結果是
Hillo
如果無法更改stringA的來源,該怎么辦才能刪除'\\ r'?
謝謝 :)
鑒於:
$ awk 'BEGIN {s1="Hello\r"; s2="Hi"; print s1 s2}'
Hillo
只需用gsub()
替換回車符\\r
:
$ awk 'BEGIN {s1="Hello\r"; s2="Hi"; gsub(/\r$/,"",s1); print s1 s2}'
HelloHi
也就是說, gsub(/\\r$/,"",s1)
在字符串s1
的末尾查找\\r
並將其替換為""
,即將其刪除。
如果出現多個回車符,則刪除$
,使其不與行尾的$
匹配。
埃德·莫頓(Ed Morton)在評論中建議,字符串中可能只會出現一個回車符,這是非常合理的。 如果是這種情況,只需使用sub()
: sub(/\\r$/,"",s1)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.