SED命令删除每行的第一个数字和空格

时间:2014-06-27 14:33:34

标签: sed

我有一个以下格式的简单文本文件。

1  12658003Y
2  34345345N
3  34653785Y
4  36452342N
5  86747488Y
6  34634543Y
so on
10  37456338Y
11  33535555Y
12  37456378Y
so on
100  23432434Y

正如您所看到的,在第一个数字后面有两个空格。

我正在尝试编写SED命令来删除空白之前的数字。是否有任何SED命令在空格之前删除空格和数字?

输出文件应如下所示。

12658003Y
34345345N
34653785Y
36452342N
so on..

请协助。我是shell脚本的新手。

4 个答案:

答案 0 :(得分:1)

sed 's/[0-9]\+\s\+//' infile > outfile

说明:

s:我们想要使用替换

/:标记我们要匹配的表达式的开头和结尾

[0-9]:匹配任何数字

+:匹配前一个或多个时间

\ s:空间

+:匹配前一个或多个时间

/:标记我们想要更改匹配项的开头(没什么)

/:一些特殊的操作员在此之后(我们不使用)

infile:我们要更改的文件

>:管道标准输出到

outfile:我们要存储输出

答案 1 :(得分:0)

你的sed命令是,

sed 's/.* //g' file

这将删除第一个数字以及后面的空格。

答案 2 :(得分:0)

删除前导数字,然后删除空格:

sed 's/^[0-9]* *//' file

答案 3 :(得分:0)

sed 's/^[0-9]*[ ]*//g' input.txt