sed 删除一行中的所有空格

sed 删除一行中的所有空格

我想用来从文本文件中sed删除所有space字符。目前我正在使用此命令:

sed 's/ //' test.txt > test2.txt

这样做的意思是它会删除space每行的第一个字符但保留其余部分。

有没有办法告诉sed在移动到下一行之前重复一行上的空格字符,或者是否在同一个文件上编写多次运行脚本的情况?

目前,该文件对于测试来说很小,但很快就会扩展到更大的文件,因此最少的冲洗和重复会很棒。有什么想法吗?

目前我使用上面的命令得到这个:

bruteforce  
allthe kings men  
moneymoney money  
ifi was a rich girl

当我想要的是这个时:

bruteforce  
allthekingsmen  
moneymoneymoney  
ifiwasarichgirl  

答案1

您应该使用g(全局)标志,这使得sed采取行动全部每行上模式的匹配,而不是每行上的第一个匹配:

sed 's/ //g' test.txt > test2.txt

答案2

这也可以通过以下方式实现tr,例如,

tr -d ' ' < test.txt > test2.txt

相关内容