我有一个文件:
$ cat file
1 Fred
2 Fred3
3 Fred3
4 Fred3
5 Fred3
6 Fred3
7 Fred3
8 Fred3
9 Fred3
10 Fred3
11 Fred3
12 Fred288
我想删除前导数字,输出应该是这样的:
$ cat file
Fred
Fred3
Fred3
Fred3
Fred3
Fred3
Fred3
Fred3
Fred3
Fred3
Fred3
Fred288
如何使用 sed 实现这个目标?
与sed:
sed 's/^[0-9]\+ //' file
Fred
Fred3
Fred3
Fred3
Fred3
Fred3
Fred3
Fred3
Fred3
Fred3
Fred3
Fred288
sed -i 's/^[0-9]\+ //' file将更改存储回文件。
我也建议使用cut这个
cut -d' ' -f2 file
选项:
-d, --delimiter=DELIM 使用 DELIM 而不是 TAB 作为字段分隔符
-f, --fields=LIST 只选择这些字段;还打印任何不包含分隔符的行,除非指定了 -s 选项
这将打印每行中的第二个单词:
awk '{print $2}' file
我们可以使用 sed 来做到这一点
sed -r 's/^[0-9]+//g' file
sed -r 告诉我们将使用常规 expersion。我们被告知 sed 从“^”行的开头开始,并告诉我们以多种形式“//g”查找数字“[0-9]+”全局执行。