我有一个包含以下示例内容的文件:
2 jordyt
2 dawder
2 LOL12345
2 2251084185
2 123456789
1 canada
1 buddy123
1 bagdad
1 baba01
1 124050
1 123windi
1 123456789m
1 123321
目的是删除开头的空格和数字,以便只留下密码,如下所示:
jordyt
dawder
LOL12345
2251084185
123456789
canada
buddy123
bagdad
baba01
124050
123windi
123456789m
123321
我已经使用过这个命令,但是它没有按照我想要的方式工作:
cat file.txt | sed 's/^\s+\d+\s+//g'
sed
如果有更好的方法就不一定了,处理性能很重要,因为我有千兆字节的文件。
顺便问一下,为什么我的命令不起作用?
您的 sed 命令不起作用,因为 sed 不理解perl 正则表达式的
\s
和扩展。\d
您需要在较旧的长格式中指定字符类。
也没有必要
cat
。或者,使用
awk
:时间差异:
我反复运行这两项操作以排除缓存优势。