Text-Processing

從文件中提取特定值

  • October 21, 2019

我有一個這樣的範例文件。

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讀取目前行之後的下一行。

引用自:https://unix.stackexchange.com/questions/547853