我有以下格式的数据。
pid : BP
itmi : 40
stsus : NO
ltm : Ha Pr
我正在尝试删除除最后一个字符和冒号之间的所有空格。
pid : BP
itmi : 40
stsus : NO
ltm : Ha Pr
现在,如果我尝试使用sed删除空格,则无论位置如何都会删除所有空格。
对此有任何帮助。
答案 0 :(得分:1)
你可以尝试
<infile tr -s '[[:blank:]]'
答案 1 :(得分:1)
这个短awk单行应该适用于你的例子:
awk '$1=$1' file
测试:
kent$ cat f
pid : BP
itmi : 40
stsus : NO
ltm : Ha Pr
kent$ awk '$1=$1' f
pid : BP
itmi : 40
stsus : NO
ltm : Ha Pr
答案 2 :(得分:0)
sed
$ sed -E 's/ +/ /g' file
pid : BP
itmi : 40
stsus : NO
ltm : Ha Pr
你可能会更好地使用tr
。
答案 3 :(得分:0)
假设标题&#34; 删除除最后一个字符串和冒号之间的所有空格&#34;是实际任务,(而不是示例输出和消息正文中显示的内容,在<{em> :
之前留下空格),请尝试此sed
代码:
sed 's/ *//' datafile
输出:
pid: BP
itmi: 40
stsus: NO
ltm: Ha Pr