Sample Input:
title role subject
name-JOHN student math
school state NY
county street Phone
name-TOM student math
school state TX
county street Phone
name-LILLY student math
school state LA
county street Phone
name-ROSY student math
school state WA
county street Phone
garbage line 1
garbage line 2
Desired Output
JOHN NY
TOM TX
LILLY LA
ROSY WA
下部の2つのガベージラインは消えなければなりません。 AWkまたはSEDを使用したいですか?
私はSunオペレーティングシステムを実行しています。
ベストアンサー1
GNUから提供sed
sed -n '/^name-/{s///;N;s/[a-z].*\s//p}' file
JOHN NY
TOM TX
LILLY LA
ROSY WA
GNUから提供awk
awk -F'[ -]+' '/name/{a=$2}/state/{print a,$3}' OFS='\t' file
JOHN NY
TOM TX
LILLY LA
ROSY WA
渡すgrep
grep -o '[[:upper:]]\{2,\}' file | paste - -
JOHN NY
TOM TX
LILLY LA
ROSY WA