在UNIX中从文本文件删除记录

时间:2019-01-04 18:54:39

标签: unix sed

我有一个带有1000条记录的文本文件,例如1..2..3 ... 1000。 在Unix中,我如何只删除记录2、13、20、500、780和1000。

请帮助我提供语法。

谢谢。

2 个答案:

答案 0 :(得分:0)

sed 'Nd' file

此处N表示文件中的第N行。

在以下示例中,sed命令删除文件的第一行。

sed '1d' file

有关更多详细信息,请参见link

答案 1 :(得分:0)

您的问题似乎已经改变。最初,您想按行号删除行,但现在似乎要删除包含特定模式的行。

有两个选项可以删除包含GroupKey的行。首先,使用sed

sed '/GroupKey/d' yourFile > newFile

或者,其次使用grep和否定/反向搜索:

grep -v "GroupKey" yourFile > newFile

或者,用awk

awk '!/GroupKey/' yourFile