我请求你对 sed 的帮助。我需要删除重复的下划线和字符串开头和结尾的下划线。
例如:
echo '[Lorem] ~ ipsum *dolor* sit metus !!!' | sed 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._()-]/_/g'
生产:
_Lorem____ipsum__dolor__sit_metus____
但我需要将此字符串进一步格式化为:Lorem_ipsum_dolor_sit_metus
换句话说,删除字符串开头和结尾的所有下划线,并将多个连续下划线符号减少为一个,最好使用另一个管道。
你知道如何做到这一点吗?
谢谢。
最佳答案
只需在 sed 命令中的 g
之后添加 ;s/__*/_/g;s/^_//;s/_$//
即可。
关于unix - sed 删除字符串开头/结尾处的重复字符和某些字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2252977/