如何从文件中提取文本行?

2024-01-28

我有一个充满文件的目录,我需要从中提取页眉和页脚。它们的长度都是可变的,因此使用头部或尾部是行不通的。每个文件都有一行我可以搜索,但我不想在结果中包含该行。

通常是

*** Start (more text here)

并结束于

*** Finish (more text here)

我希望文件名保持不变,所以我需要覆盖原始文件,或者写入不同的目录,然后我自己覆盖它们。

哦,是的,当然是在 Linux 服务器上,所以我有 Perl、sed、awk、grep 等。


Try the 拖鞋! http://perldoc.perl.org/perlop.html#Range-Operators“..“ 操作员。

# flip-flop.pl
use strict;
use warnings;

my $start  = qr/^\*\*\* Start/;
my $finish = qr/^\*\*\* Finish/;

while ( <> ) {
    if ( /$start/ .. /$finish/ ) {
        next  if /$start/ or /$finish/;
        print $_;
    }
}

然后你可以使用 -i perl 开关来更新你的文件,就像这样......

 $ perl -i'copy_*' flip-flop.pl data.txt 

...这会更改 data.txt 但预先将其复制为“copy_data.txt”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从文件中提取文本行? 的相关文章

随机推荐

  • 无法在 nunit 测试中打开 sqlconnection

    我有一个奇怪的问题 我无法弄清楚 我试图围绕一些数据库代码编写一些集成测试 但我的单元测试因奇怪的异常而失败 在控制台应用程序下正常运行代码效果很好 public static class DatabaseManager public st
  • 在 MATLAB 中在轴外添加图例而不重新缩放

    我在 MATLAB 中有一个 GUI 其中预先放置了一组轴 我使用图例的位置属性将其放置在轴的右侧 但是 通过这样做 轴会重新缩放 以便轴 图例占据轴的原始宽度 有什么办法可以避免重新调整大小吗 Example x 0 1 10 y sin
  • 哈希迭代不返回子目录内容

    我有一个方法可以查找给定父目录的子目录 我将父目录存储在哈希中 然后将哈希作为参数传递 我试图将子目录的内容收集到一个数组中 然后将其输出到报告中 我遇到了一个问题 数组的内容仅将目录存储在哈希的最后一个值中 我很快意识到内容在循环的每次迭
  • NUnit 无法构建测试 - 未发现测试

    我正在研究selenium网络驱动程序项目 我能够在中构建测试Test Explorer并执行 重建解决方案时 我立即收到以下错误 Unit Adapter 3 2 0 0 Test discovery starting NUnit VS
  • 缩小 Octave / gnuplot

    我在 Windows 下使用 Octave 和 gnuplot 我可以使用鼠标右键进行放大 但如何缩小用户界面呢 I found 纳布尔上的这篇文章 http old nabble com zoom td16353082 html 紧迫p带
  • 向 UITableViewCell 添加边距

    I am trying to achieve a view I mocked out on sketch I ve replicated it on Android cause I m really good on that platfor
  • Delphi - Graphics32,绘制抗锯齿圆角矩形

    如何使用 Graphics32 绘制抗锯齿圆角矩形 我设法在 bitmap32 画布上使用 TPolygon 制作了一个普通矩形 但我找不到任何绘制圆角的参考 希望有一些代码 function GetRoundedFixedRectangl
  • 致命:提交时无法解析 HEAD 错误

    每当我尝试提交工作时 都会收到此错误 fatal could not parse HEAD 如果我想保留我的更改 该怎么办 你知道什么分行吗HEAD应该指向 是吗master Run git symbolic ref HEAD refs h
  • Concourse:通过 HTTP 请求触发作业

    我正在尝试使用 Git 服务器上的 Web 挂钩触发 Concourse 作业 按照此Github 上的问题 https github com concourse concourse issues 331我找到了一个端点定义 https g
  • 谁能告诉我为什么我的算法是错误的?

    我正在研究单源最短路径问题 我对 bfs 进行了修改 可以解决该问题 该算法运行时间为 O 2E 次 我只是不明白为什么它是错误的 一定是这样 否则 dijstra 不会是最有效的算法 def bfs modified G src des
  • Cocos2d 游戏中的碰撞检测?

    我正在尝试检测碰撞 of two sprites按照以下方式 但是当我尝试运行游戏时没有发生碰撞 我可能做错了什么 void update ccTime dt CGRect projectileRect CGRectMake project
  • MongoDB:启动期间无法设置套接字

    我有 Windows 8 1 Enterprise 64 位机器 我已经为 Windows 安装了带有 SSL 支持的 mongodb msi 我创建了环境设置所需的所有必要条件 现在使用命令提示符导航到 mongodb 安装文件夹中的 b
  • 取消订阅 Single 的正确方法是什么[重复]

    这个问题在这里已经有答案了 我想做一些短暂的延迟后 public void notifyMe Single timer 500 TimeUnit MILLISECONDS subscribeOn Schedulers io subscrib
  • Rails 3.2.13 recognize_path 返回约束的路由错误

    我的路线中有两条路径 相同的路径指向不同的控制器和操作 match id gt users show as gt user constraints gt UserConstraint match id gt customers show a
  • 无法使用 ARIMA 预测下一个值:输入包含 NaN、无穷大或对于 dtype('float64') 来说太大的值

    我有以下代码片段 import pmdarima as pmd ts 3 86 5 52 68 14 20 12 22 4 2 model pmd auto arima ts start p 1 start q 1 test adf est
  • DTMF Goertzel 算法不起作用

    因此 我正在打开我在 audacity 中生成的 DTMF 音调的 raw 文件 我抓住了一个类似于维基百科文章中的罐装 goertzel 算法 但它似乎无法解码正确的数字 解码后的数字也会根据我传递给算法的 N 值而变化 据我了解 较高的
  • 生成随机数的div

    我无法让脚本创建随机数量的 div 在这个具体示例中 介于 5 和 20 之间 问题可能出在 for 循环中 生成随机数的函数在随机颜色函数下面正常工作 我猜由于某些原因它没有被识别 另外我在萤火虫中没有收到任何错误 Example fun
  • 调用 addAction 时删除通知?

    我在通知中添加了两个操作按钮 当我单击其中任何一个时 它们会执行所需的操作 但通知仍保留在我的通知抽屉中 我知道单击操作按钮时可以从通知抽屉中删除通知 因为这就是 Gmail 的功能 如果我单击主通知 它将打开应用程序并从通知抽屉中删除通知
  • 课程。重点是什么?

    我对 PHP 中的 OOP 相当陌生 我编写了几个基本脚本 但没有什么令人印象深刻的 我真正从中得到的只是 制作一组函数可能会更容易 include them 类的结构似乎只是混淆了原本简单的过程 将所有内容整理到一个类中并没有真正添加任何
  • 如何从文件中提取文本行?

    我有一个充满文件的目录 我需要从中提取页眉和页脚 它们的长度都是可变的 因此使用头部或尾部是行不通的 每个文件都有一行我可以搜索 但我不想在结果中包含该行 通常是 Start more text here 并结束于 Finish more