Unix 如何使用sed命令从第n个位置删除空间?
输入: 输出:Unix 如何使用sed命令从第n个位置删除空间?,unix,sed,Unix,Sed,输入: 输出: B0128001594 2015081100001 RESPDTL 在上面的示例中,我需要删除第三个空格。您可以使用以下选项: B0128001594 2015081100001RESPDTL 基本上,它用前两列替换前两列和尾随空格 因此,abc变成abc,abcd变成abcd,您可以使用以下方法: B0128001594 2015081100001RESPDTL 基本上,它用前两列替换前两列和尾随空格 所以abc变成abc和abcd变成abcd使用awk怎么样 $
B0128001594 2015081100001 RESPDTL
在上面的示例中,我需要删除第三个空格。您可以使用以下选项:
B0128001594 2015081100001RESPDTL
基本上,它用前两列替换前两列和尾随空格
因此,
abc
变成abc
,abcd
变成abcd
,您可以使用以下方法:
B0128001594 2015081100001RESPDTL
基本上,它用前两列替换前两列和尾随空格
所以abc
变成abc
和abcd
变成abcd
使用awk怎么样
$ sed 's/^\([^ ]* *[^ ]*\) */\1/' input
B0128001594 2015081100001RESPDTL
用awk怎么样
$ sed 's/^\([^ ]* *[^ ]*\) */\1/' input
B0128001594 2015081100001RESPDTL
用法:
awk-f f.awk file.dat
echo "B0128001594 2015081100001 RESPDTL" | awk '{print $1,$2$3}'
用法:
awk-f f.awk file.dat
echo "B0128001594 2015081100001 RESPDTL" | awk '{print $1,$2$3}'
要删除第二个空格块,请使用:
$sed's/\s\+//2'要删除第二个空格块,请使用:
$sed's/\s\+//2'对于包含更多空格的文件,即使在“RESPDTL”之后,这是否也有效?因为我只需要删除第二个空格,其他什么都不需要。是的,它是精心制作的,可以这样工作abcd
变成了abcd
,所以我们可以说,我们不仅仅有一个空格。但中间有多个空格。那这行吗?对于中间包含多行未知空格的文件。仍然有效。第二组空格将被删除,其余的将不会更改。太棒了,谢谢你了。。如果有多条线路,我想我必须对此进行循环。我说的对吗?即使在“RESPDTL”之后包含更多空格的文件也可以这样做吗?因为我只需要删除第二个空格,其他什么都不需要。是的,它是精心制作的,可以这样工作abcd
变成了abcd
,所以我们可以说,我们不仅仅有一个空格。但中间有多个空格。那这行吗?对于中间包含多行未知空格的文件。仍然有效。第二组空格将被删除,其余的将不会更改。太棒了,谢谢你了。。如果有多条线路,我想我必须对此进行循环。我说得对吗?