如何使用bash删除“”之间的空白空间

这种格式的txt

"service blabla 1"                   5.456
"service blabla 2"                   456

我只需要删除“”之间的空白空间

"serviceblabla1"                   5.456
"serviceblabla2"                   456

我有这个命令

sed 's/ //g'

结果:

"serviceblabla2"456

回答

awk带有显示示例的GNU中,请尝试以下awk代码。

awk -v RS='"[^"]*"' '{gsub(/[[:space:]]+/,"",RT);ORS=RT} 1' Input_file

说明:设置RS为"[^"]*"从中获取值",直到下一处"。然后删除其值中的空格以匹配 OP 的要求。最后打印线。

上面的代码将在终端上打印数据,如果您想就地保存到 Input_file 中,请尝试以下命令。

awk -v RS='"[^"]*"' '{gsub(/[[:space:]]+/,"",RT);ORS=RT} 1' Input_file > temp && mv temp Input_file


以上是如何使用bash删除“”之间的空白空间的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>