sed/awk/perl - 删除两个字符串/单词之间的空格 +Solaris 10

sed/awk/perl - 删除两个字符串/单词之间的空格 +Solaris 10

请建议如何删除“=”到值/字符串之间的空格(“=”字符之后),应该由 awk 或 sed 或 perl 命令实现,并且命令必须适合Solaris操作系统,(命令应该在我的bash 脚本)

我有 Solaris 10 操作系统

示例1(更新前)

更多文件

 a=2
 b= 45
 c=   4
 d= 98
 e=09
 f= gdtd
 g=     @7h
 parameter5=    87

示例2(更新后)

更多文件

a=2
b=45
c=4
d=98
e=09
f=gdtd
g=@7h
parameter5=87

答案1

尝试这个:

sed 's/=[ \t]*/=/' input.txt

如果需要,请指定-i就地编辑的选项。


sed -i不适合Solaris

重定向到另一个文件并重命名为原始文件或使用 perl 代替:

perl -pi -e 's/=[ \t]*/=/g' input.txt

答案2

sed 's/=[[:blank:]]*/=/' < file.in > file.out

答案3

有很多方法可以做到这一点,但最简单和最原始的 - 获取文件并通过 sed 通过管道传输:cat $filename | sed -e 's/ //g'

答案4

对于solaris 11,将多个空格变成内联的单个空格的方法是:

[带输出的命令] | sed -e 's/ */ /g'

带星号的两个空格

相关内容