我有一个文件:
$ 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实现此目标?
答案 0 :(得分:8)
使用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选项已指定
答案 1 :(得分:3)
这将打印每行中的第二个单词:
awk '{print $2}' file
答案 2 :(得分:1)
我们可以用sed来做这个
sed -r 's/^[0-9]+//g' file
sed -r告诉我们将使用常规的expersion。 我们告诉sed从行“^”的开头开始,并告诉我以多种形式“// g”寻找数字“[0-9] +”全球。