使用Sed删除字母之间的空格

Alt*_*ime 0 regex sed

昨天我发现Sed真是太神奇了。我可以处理某些简单的正则表达式和文字,但是我不确定如何仅删除两个字母(a-zA-Z)之间的空格。

例如:

输入:

"Mal                        ","","Mr    ","123","  ","   Lauren Hills","Dr  ","  ","      ","        ",
Run Code Online (Sandbox Code Playgroud)

输出:

"Mal","","Mr","123","","Lauren Hills","Dr","","","",
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经尝试过修改在这里这里这里找到的命令。

我最接近的是:

sed 's/ \{1,\}//g' test.csv > test.bak

这消除单词之间的空格显著像之间的空间LaurenHills

cho*_*oba 5

在Perl中比sed更容易:

perl -pe 's/\B | \B//g' < input > output
Run Code Online (Sandbox Code Playgroud)

\B 代表“不在单词边界”,即它不会删除前后带有字母的空格。