如何使用linux终端删除文件中间的行

当您管理自己的服务器时,您最终需要半定期地做的一件事就是从文件的中间提取内容。可能它是一个日志文件,或者您需要从MySQL备份文件的中间额外添加一个表,就像我做的那样。...

如何使用linux终端删除文件中间的行

当您管理自己的服务器时,您最终需要半定期地做的一件事就是从文件的中间提取内容。可能它是一个日志文件,或者您需要从MySQL备份文件的中间额外添加一个表,就像我做的那样。

为了计算行号,一个简单的grep-n命令完成了这项工作(参数-n输出行号)。这使得我很容易找出我需要提取什么。

grep -n wp_posts howtogeekdb010114.bak | more

结果是这样的,在输出的左侧显示行号。将所有内容编入“more”可以确保在不滚动的情况下看到第一行。现在你有了行号开始,也可能是行号结束。

4160:-- Table structure for table `wp_posts` 4163:DROP TABLE IF EXISTS `wp_posts`; 4166:CREATE TABLE `wp_posts` ( 4203:-- Dumping data for table `wp_posts` 4206:LOCK TABLES `wp_posts` WRITE; 4207:/*!40000 ALTER TABLE `wp_posts` DISABLE KEYS */; 4208:INSERT INTO `wp_posts` VALUES (1,2,'2006-09-11 05:07:23','2006-09-11

当然,您可以将grep的输出通过管道传输到另一个文件中,如下所示:

grep keyword filename.txt > outputfile

在我的例子中,这不起作用,因为由于某种原因,我无法导入生成的备份。所以,我发现了一种使用sed提取行的不同方法,这种方法确实有效。

sed -n '4160,4209p' howtogeekdb0101140201.bak > outputfile

基本上语法是这样的,确保使用-n参数,并在第二行号后面包含“p”。

sed -n 'FIRSTLINENUMBER, LASTLINENUMBERp' filename > outputfilename

还有其他方法可以在文件中间提取特定行吗?您可以使用带有+number参数的“head”命令来读取文件的前x行,然后使用tail来提取这些行。不是最好的选择,开销很大。更简单的选择?您可以使用split命令将文件转换为多个文件,按所需的行号排列,然后使用head或tail提取行。

或者你可以直接用sed。

  • 发表于 2021-04-11 12:32
  • 阅读 ( 90 )
  • 分类:互联网

你可能感兴趣的文章

使用以下技巧和技巧成为linux命令行高手

... 如何掌握linux命令行:最后的想法 ...

  • 发布于 2021-03-12 10:19
  • 阅读 ( 277 )

40多个最常用的linux终端命令

... 在您真正充分利用终端之前,您需要知道如何导航它。这就是为什么我们认为这些是最基本的Linux命令:如果你不能更改目录或者在一个你不记得如何使用的命令上获得帮助,那么再多的终端知识也帮不了你。 ...

  • 发布于 2021-03-15 21:40
  • 阅读 ( 260 )

linux命令参考备忘单

...便的Linux命令备忘单。如果您想运行其中的几个,请查看如何在带屏幕的Linux终端上执行多任务。 ...

  • 发布于 2021-03-22 04:06
  • 阅读 ( 233 )

如何在mac上设置文件权限

...,可以设置文件和目录的读、写和可执行权限。 相关:如何在Linux上使用chmod命令 但是chmod命令并不是一个仅限Linux的命令。与许多其他Linux终端命令一样,chmod可以追溯到上世纪70年代的Unix Linux和macOS都有这一传统,这就是chmod命...

  • 发布于 2021-04-02 05:26
  • 阅读 ( 184 )

如何在linux上使用sed命令

...命令行使用它来操作文件和流中的文本。我们将向你展示如何利用它的力量。 sed的力量 sed命令有点像国际象棋:学习基础知识需要一个小时,掌握它们需要一辈子(或者,至少需要大量的练习)。我们将向您展示sed功能的每...

  • 发布于 2021-04-02 08:03
  • 阅读 ( 155 )

如何在linux上使用fold命令

...读取大量文本、无穷无尽的字符串和未格式化的流。学习如何。 linux终端中文本行的工作原理 Linux战斗的第一条规则:了解你的敌人。让我们来定义它。一行文字到底是什么?它是由字母、数字、符号和空格组成的一系列字符...

  • 发布于 2021-04-02 16:13
  • 阅读 ( 188 )

如何在linux上使用tail命令

...据。它甚至可以实时显示添加到文件中的更新。我们教你如何使用它。 他杀了尾巴吗? tail命令显示文件末尾的数据。通常,新数据会添加到文件的末尾,因此tail命令是查看文件中最新添加内容的一种快速简便的方法。它还可...

  • 发布于 2021-04-02 17:32
  • 阅读 ( 183 )

如何在linux上使用history命令

...复您过去运行的命令。一旦您了解了Linux history命令以及如何使用它,它就可以显著地提高您的生产效率。 操纵历史 正如乔治桑塔亚纳(georgestantayana)的一句名言:“那些记不住过去的人注定要重蹈覆辙。”不幸的是,在Linux...

  • 发布于 2021-04-02 18:17
  • 阅读 ( 203 )

如何在linux的bashshell中复制和粘贴文本

...的情况下执行复制和粘贴文本。我们能用什么? 相关:如何在Ubuntu中使用快捷键来提高效率 ctrl+shift+c和ctrl+shift+v 很容易记住,因为它们非常相似,Ctrl+Shift+C和Ctrl+Shift+V是Ctrl+C和Ctrl+V的直接替代品。 如果用鼠标突出显示终端窗...

  • 发布于 2021-04-03 03:36
  • 阅读 ( 243 )

如何在linux上使用管道

使用Linux管道编排命令行实用程序如何协作。通过利用一组独立命令并将它们转化为一个专注的团队,简化复杂的流程并提高生产率。我们教你怎么做。 到处都是管道 管道是Linux和类Unix操作系统最有用的命令行特性之一。管道...

  • 发布于 2021-04-03 04:49
  • 阅读 ( 199 )
槑萌萌艹
槑萌萌艹

0 篇文章

相关推荐