2017-07-10 39 views
1

比賽我需要提取以下四個字符從下面的字符串匹配:提取四字從字符串

網站:

KPAE 
KPSC 
KPUW 
KRNT 
KSEA 
KSFF 
KSHN 
KTIW 

數據:

{"sids": ["24222 1", "452670 2", "PAE 3", "KPAE 5", "USW00024222 6"], "name": "EVERETT SNOHOMISH AP"}, 
{"sids": ["24163 1", "PSC 3", "KPSC 5", "USW00024163 6"], "name": "PASCO TRI CITIES AP"}, 
{"sids": ["94129 1", "PUW 3", "KPUW 5", "USW00094129 6"], "name": "PULLMAN MOSCOW RGNL AP"}, 
{"sids": ["94248 1", "RNT 3", "KRNT 5", "USW00094248 6"], "name": "RENTON MUNI AP"}, 
{"sids": ["24233 1", "457473 2", "SEA 3", "72793 4", "KSEA 5", "USW00024233 6", "SEA 7"], "name": "SEATTLE TACOMA INTL AP"}, 
{"sids": ["94176 1", "SFF 3", "KSFF 5", "USW00094176 6"], "name": "SPOKANE FELTS FLD"}, 
{"sids": ["94227 1", "457585 2", "SHN 3", "KSHN 5", "USW00094227 6", "SHN 7"], "name": "SHELTON SANDERSON FLD"}, 
{"sids": ["94274 1", "TIW 3", "KTIW 5", "USW00094274 6"], "name": "TACOMA NARROWS AP"}, 

我試圖從字符串中提取這些匹配,但是,它們的位置可以從字符串更改爲字符串...

試圖代碼:

awk -F',' '{print $5}' 

回答

2

使用grep -oP

grep -Po '"\K[A-Z]{4}\b' file 

KPAE 
KPSC 
KPUW 
KRNT 
KSEA 
KSFF 
KSHN 
KTIW 
+0

嗨。我怎樣才能解決所有匹配'US *' – arnpry

+0

匹配的值嗨,對於缺乏信息抱歉......我正在尋找也提取所有類似於以下內容的值:'USW00024163' – arnpry

+2

然後,您可以使用:'grep -Po'\ bUS \ w * |「\ K [AZ] {4} \ b'file' – anubhava