Shell
如何通過參數去除字元?
我想通過某些命令過濾輸出中的任何逗號和任何雙引號。對於一些條目。
虛擬碼:
removechar --any -, -"
目前輸出可能看起來像這些中的任何一個
“痛
”“痛”“痛
”
期望的輸出:
網頁
點擊
計數器
更新
我可能還需要刪除任何多餘的空白字元,例如:
a, b"
會變成
ab
問題
如何通過參數去除字元?
你可以使用
tr
:<input tr -d ',"' >output
或者,刪除逗號和引號字元並壓縮相鄰空格(如您所需的輸出所示)
<input tr -d ',"' | tr -s ' ' >output
或更一般地,刪除所有標點符號並擠壓所有水平空格
<input tr -d '[:punct:]' | tr -s '[:blank:]' >output
您將需要研究
sed
和非常基本的正則表達式。sed 's/[, \'"´`]//g'
有語法
sed 's/[, \'"´`]//g' ^-------------- s like search&replace ^------------- the thing we want to search for and what we replace it with are separated by / ^-------^---- [] in a regular expression means "any of the things in these []" ^^^^^^^----- in this case, the things to replace are commas, spaces, single quotes, double quotes, slanted quotes ^--- next thing is what we replace it with ^-- we replace with nothing ^- g is an option that means "repeat until you're done on each line"