使用 sed 或 awk 和 tcl regsub 函数从字符串中删除制表符

Him*_*dey 1 awk sed tcl regsub

假设我有一个字符串, name = xyz 在名称后面有一个制表符,在“=”后面有随机数量的空格。

我需要一个输出作为 name=xyz

那么如何使用 sed 或 awk 和 tcl regsub 函数从上述字符串中删除制表符和随机数量的空格。非常感谢您的帮助。谢谢。

我试过

[regsub -all { +} $str ""]
Run Code Online (Sandbox Code Playgroud)

这会删除随机数量的空格,$str但制表符仍然存在。

tsh*_*ono 5

\s匹配制表符和空格。那么请您尝试一下:

[regsub -all {\s+} $str ""]
Run Code Online (Sandbox Code Playgroud)

这里的潜在问题是它会删除任何地方的空白字符,无论与=标志的相关性如何。

更安全的说法是:

[regsub {\t=\s*} $str "="]
Run Code Online (Sandbox Code Playgroud)

它删除 之前的制表符=和之后的空格=