我尝试使用覆盆子pi上的sed删除文本文件中的编号。
文本文件:
0 100
1 125
2 160
3 200
4 250
5 320
6 400
7 500
8 640
9 800
10 1000
11 1250
12 1600
sed后的输出:
100
125
160
200
250
320
400
500
640
800
1000
1250
1600
sed -i' s / ^。{,2} //' - 只删除前两个数字,但是当你有超过10个数字时,它将无法工作。
有没有办法删除第一个值,直到空格?
答案 0 :(得分:1)
这会删除前导数字,同时保留行没有前导数字不变:
$ sed 's/^[[:digit:]]\{1,\}[[:blank:]]*//' textfile
100
125
160
200
250
320
400
500
640
800
1000
1250
1600
在sed中,替换命令的格式为s/old/new/
,其中old
是正则表达式。在我们的例子中,我们希望替换为空,因此new
字段为空。
我们希望首先匹配行开头的数字:^[[:digit:]]\{1,\}
。 ^
表示行首。 [[:digit:]]\{1,\}
匹配任何数字中的一个或多个。
我们还想删除数字后面的空格。 [[:blank:]]*
匹配零个或多个空格或制表符的任意组合。
过去,我们可能使用[0-9]
来表示数字。使用现代unicode字体,这已不再安全。 [:digit:]]
将匹配unicode字体中的所有数字,仅匹配数字。
答案 1 :(得分:0)
要求救援!
awk '{print $2}'
只会打印第二个字段。您可以使用cut
cut -d" " -f2