我有以下字符串:
'1 NXA-PAC-1100W-B AC 1080.00 90.00 ok'
我正在尝试使用sed将单词之间的空格转换为单个标签,但输出中的间距似乎不相等。我在这里做错了什么?
命令:
echo '1 NXA-PAC-1100W-B AC 1080.00 90.00 ok' | sed 's/\s\s\+/\t/g'
结果:
'1 NXA-PAC-1100W-B AC 1080.00 90.00 ok'
答案 0 :(得分:4)
+
表示“一个或多个”,因此在您的示例中,您指定一个空格加一个或多个空格,因此指定两个或多个空格。你只想要
echo '1 NXA-PAC-1100W-B AC 1080.00 90.00 ok' | sed 's/\s\+/\t/g'
或者更详细但更多的posix-y
echo '1 NXA-PAC-1100W-B AC 1080.00 90.00 ok' | sed 's/[[:space:]]\+/\t/g'
关于标签如何在你的陈述中工作“输出中的间距似乎不相等”,可能存在一些误解。但是我没有足够的信息可以肯定地知道,如果没有,我不想侮辱你。