我在文件中有以下数字
44700101
44700201
44700301
44700401
44700501
44700601
44700701
44700801
44700901
44701001
想要获取上述数字,其中第5位和第6位数大于5使用GREP WILDCARDS。
像" grep .... [6-10] ..文件"应该低于44700601
44700701
44700801
44700901
44701001
任何帮助将不胜感激。感谢
答案 0 :(得分:0)
gawk (GNU awk)方法:
awk '{split($0,a,"")}int(a[5]a[6])>5' file
gawk 能够将 FS 和split()
的第三个参数设为空字符串
split($0,a,"")
- 将数字字符串拆分为单独的数字(填充数组a
)
int(a[5]a[6])>5
- 如果整数表示第5和第6个数字大于5,则打印该行
grep 方法:
grep '^[0-9]\{4\}\([1-9]\|0[6-9]\).*' file
输出(两种方法):
44700601
44700701
44700801
44700901
44701001
答案 1 :(得分:0)
只需使用awk:
$ awk 'substr($0,5,2)+0 > 5' file
44700601
44700701
44700801
44700901
44701001