awkを使用して、最初の行の値に基づいてファイルの3番目の行から2つの特定の列を取得します。

awkを使用して、最初の行の値に基づいてファイルの3番目の行から2つの特定の列を取得します。

ファイルの最初の行の最初の列に基づいて、ファイルの3番目の行から2つの列を条件付きで選択したいと思います。

ファイル形式は次のとおりです。

v1
shortdesc
value1 value2 value3 value4 ...

この例では、私はvalue2andが欲しい、value3そうでなければandがv1欲しい。value1value4

同様の方法で行と列を取得する方法を知っていますが、句をawk 'FNR ==1 {print $1}使用する方法は何ですかif

私にはうまくいかないコードは次のとおりです。

awk '{if("NR == 1 $1"=="v1") {FNR==3 print $2 "\t" $3;} else {FNR==3 print $1 "\t" $4;}}'

ベストアンサー1

次のことを試すことができます。

awk 'NR == 1 { if ($1 == "v1") { p = 1; } } NR == 3 { if (p) { print $2 "\t" $3; } else { print $1 "\t" $4; } }' file

おすすめ記事