Text-Processing
從文件中提取特定值
我有一個這樣的範例文件。
Zone A Total Population 500 unit Total Area 150 sq. unit Zone B Total Population 600 unit Total Area 200 sq. unit Zone C Total Population 400 unit Total Area 100 sq. unit
如何像以下方式一樣提取區域名稱及其人口?
A 500 B 600 C 400
這對 awk 來說是一項微不足道的任務。
awk '/Zone/{print $2} /Population/{print $3}' file
如果目前行包含
Zone
在其中,則列印第二個欄位;對於Population
, 列印第三個。
試試這個,
awk '/Zone/ {print $2;getline; print $3}' file A 500 B 600 C 400
getline
讀取目前行之後的下一行。