我有一个以下格式的简单文本文件。
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脚本的新手。
答案 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