如何使用sed用空字符串替换第一个空格

use*_*819 2 regex linux bash sed tr

我在将空格分隔的文本文件加载到表中时遇到问题.此文本文件中的数据由teragen生成,因此,它只是虚拟数据,其中只有2列,第一列具有随机特殊字符串的值.

例:

~~~{ZRGHS|

~~~{qahVN)

我遇到一个问题,并得到被拒绝的行,因为其中一些值在它们中有一个空格作为随机ASCII字符,这使得它认为有3列,当我的表有2时,所以它们被拒绝.

所以,我想要做的只是从这些被拒绝的行中删除第一个空格,这需要在每一行上重复多次,然后尝试重新加载它们.那将是最好的解决方法,还是像tr这样的东西更合适?

谢谢!

Sir*_*hos 6

要从行中删除第一个空格,请使用

echo "my line with spaces" | sed 's/ //'
Run Code Online (Sandbox Code Playgroud)

根据您的方法的具体情况(固定列长度?如何添加数据?),可能有更好的方法可以一步完成此操作,而不是一遍又一遍地解析被拒绝的行。


Lev*_*sky 5

根据我的理解,你想删除除最后两个之外的所有空格.