我有一个关于grep的问题。
我在asc文件中有一些地址数据作为简单文本。前30个字符用于名称。如果名称短于30个字符,则将空格填充以确保其长度为30.在位置31处是一个空格,用于将名称与下一个数据(即地址)分开。地址之后也是一个空格和一些其他数据。我的计划是检索地址,该地址从索引32开始并继续索引50.我几乎没有任何东西或者从行的开头开始的数据。我尝试了几种方法,如
grep -iE '^.{30}' '.{8}$' myfile.asc
或
grep –o -P '^.{31,34}' myfile.asc
我无法搜索某个模式,因为除了分隔数据的空格外,每组数据都不同。是否可以像这样检索我的子串而不依赖于通过管道的其他方法?我更喜欢使用grep,因为性能是一个问题。
答案 0 :(得分:0)
如果您正在处理固定职位,为什么不使用cut而不是grep?
cut -c 32-50 myfile.asc