在特定列具有值的行上进行Awk模式匹配。无分隔符

在特定列具有值的行上进行Awk模式匹配。无分隔符,awk,Awk,我想使用awk搜索一个文件,以输出从特定列号开始的值的行。e、 g 我想从第10列开始查找9719: moobaaraa**979719** moobaaraa123456 moo**979719**123456 moobaaraa**979719** moobaaraa123456 如您所见,没有分隔符。它是一个原始数据文本文件。我想输出第1行和第4行。不是第3行,该行不包含图案,但不在所需的列号处 一种简单的sed方法 $ cat file moobaaraa979719 moobaara

我想使用awk搜索一个文件,以输出从特定列号开始的值的行。e、 g

我想从第10列开始查找9719:

moobaaraa**979719**
moobaaraa123456
moo**979719**123456
moobaaraa**979719**
moobaaraa123456
如您所见,没有分隔符。它是一个原始数据文本文件。我想输出第1行和第4行。不是第3行,该行不包含图案,但不在所需的列号处

一种简单的sed方法

$ cat file
moobaaraa979719
moobaaraa123456
moo979719123456
moobaaraa979719
moobaaraa123456
只需搜索一个图案,最后是979719并打印行:

$ sed -n '/^.*979719$/p' file
moobaaraa979719
moobaaraa979719
此代码适用于:

awk 'length($1) == 9' FS="979719" raw-text-file
此代码将979719设置为字段分隔符,并检查第一个字段的长度是否为9个字符。然后打印该行作为默认操作

awk 'substr($0,10,6) == 979719' file

如果要从第10个字符搜索到每行的末尾,您可以删除,6。

这必须使用awk完成,或者欢迎使用任何方法?大苹果!小菜一碟
awk '/979719$/' file

moobaaraa979719
moobaaraa979719