簡體   English   中英

grep 或 awk:匹配 alpha 前綴數字范圍

[英]grep or awk : Match on alpha prefixed number range

如何匹配一系列以字母為前綴的系統名稱?

給定:sfc30700 到 sfc30900

例如,希望文件中列出的從 sfc30750 到 sfc30850 的所有系統,並且序列未完全填充。

我確實嘗試過像這樣使用 egrep ,但是它返回一個錯誤。

cat mahinelist.txt | egrep ':[[:sfc:]]\{30750,30850\}:'
egrep: Invalid character class name

這將打印出所有包含“ sfc ”的行,后跟“30750”和“ 30850 ”之間的數字

$ cat file
sfcdd30784
sfc30689
word sfc30750 word
sfc30753
sfc30756
sfc30900
sfc30901
daw30900

$ awk '{ n=match($0,"sfc"); m=substr($0,n+3,5)*1;
    if(m>=30750 && m<=30850){ print } }' file
word sfc30750 word
sfc30753
sfc30756

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM