我想用来从文本文件中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