[英]Or condition in Sed
我正在檢查兩個sed條件,試圖添加一個sed命令,但是它不起作用。
輸入:
"Southern/Palms"|"AA|None"|"4"|"Ken|Coast"|1/11/2019 00:00:00|30/4/2020 00:00:00|"TH"|
預期產量:
"Southern Palms"|"AA None"|"4"|"Ken Coast"|1/11/2019 00:00:00|30/4/2020 00:00:00|"TH"|
試圖從雙引號字段中刪除定界符( |
或\\
)。
sed -E 's/(^|[^"|])\|($|[^"|]) | (^|[^"|])\\($|[^"|]) /\1 \2/g'
我也用定界符嘗試了以下方法|
或\\
條件:
sed -E 's/(^|[^"|])\|\\($|[^"|])/\1 \2/g'
嘗試一下這個awk單線:
awk -F'"' -v OFS='"' '{for(i=2;i<=NF;i+=2)gsub(/[/|]/," ",$i)}7' file
用我的gawk測試:
kent$ cat f
"Southern/Palms"|"AA|None"|"4"|"Ken|Coast"|1/11/2019 00:00:00|30/4/2020 00:00:00|"TH"|
kent$ awk -F'"' -v OFS='"' '{for(i=2;i<=NF;i+=2)gsub(/[/|]/," ",$i)}7' f
"Southern Palms"|"AA None"|"4"|"Ken Coast"|1/11/2019 00:00:00|30/4/2020 00:00:00|"TH"|
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.