【问题标题】:Retrieve substring with grep使用 grep 检索子字符串
【发布时间】:2016-06-21 15:06:53
【问题描述】:

我有一个关于 grep 的问题。

我在 asc 文件中有一些地址数据作为简单文本。前 30 个字符用于名称。如果名称短于 30 个字符,则填充空格以确保其长度为 30。位置 31 是一个空格,用于将名称与下一个数据(即地址)分开。在地址之后也是一个空格和一些其他数据。我的计划是检索从索引 32 开始并继续到索引 50 的地址。我几乎什么也没得到,或者是从行首开始的数据。我尝试了几种方法,例如

grep -iE '^.{30}' '.{8}$' myfile.asc

grep –o -P '^.{31,34}' myfile.asc

我无法搜索特定模式,因为每组数据都不同,除了分隔数据的空格。是否可以在不依赖其他方法的情况下通过管道检索我的子字符串?我更喜欢使用 grep,因为性能是一个问题。

【问题讨论】:

  • 我认为sed 可能更适合这个。

标签: linux shell grep


【解决方案1】:

如果要处理固定位置,为什么不使用 cut 而不是 grep?

cut -c 32-50 myfile.asc

【讨论】:

    猜你喜欢
    • 2018-09-29
    • 1970-01-01
    • 2017-01-04
    • 1970-01-01
    • 1970-01-01
    • 2012-02-13
    • 2012-05-07
    • 2017-06-08
    • 1970-01-01
    相关资源
    最近更新 更多