0

我有以下形式的 csv 文件(1TB):

 1     hi hello
 2     users badges
 abc def
 3     questions
 4     tags
 Unanswered answered

每当我在行首有一个字符串时,我想删除该行,每当我在行首有一个数字(整数)时,我想保留该行。我想要以下格式的输出:

 1     hi hello
 2     users badges
 3     questions
 4     tags

是否可以使用linux命令来实现它。我知道可以使用像 python 这样的编程语言来实现这一点,但是是否可以使用 cat 和 sed 等来实现

4

2 回答 2

2
sed '/^[^0-9].*/d' test.txt

这将删除文件 test.txt 中不以 0-9 开头的所有行

于 2013-10-20T04:46:18.550 回答
0

用于grep过滤行:

$ cat > a_file
 1     hi hello
 2     users badges
 abc def
 3     questions
 4     tags
 Unanswered answered
$ grep '^ *[0-9]' a_file > a_file.modified
$ cat a_file.modified
 1     hi hello
 2     users badges
 3     questions
 4     tags
$ mv a_file.modified a_file
于 2013-10-20T04:42:02.510 回答