列位置番号を取得したいシナリオがあります
ID|NAME|S1|BQ|S2|VN|D1
1|vimal|10.12|12.4|56.2|12.2|11.22
2|vilas|10.12|12.4|56.2|12.2|11.22
3|viky|10.12|12.4|56.2|12.2|11.22
column name : S1|S2|D1
出力は次のようになります。
3
5
7
以下のコードを試しましたが、部分的に出力が提供されます。
awk -F"|" 'NR==1{for(i=1;i<=NF;i++){print $i"=$"i}}' demo.txt | grep -E "S1|S2|D1"
S1=$3
S2=$5
D1=$7
次の出力が必要です。
3
5
7
答え1
努力する:
$ awk -F"|" 'NR==1 {for(i=1;i<=NF;i++) if ($i=="S1" || $i=="S2" || $i=="D1" ) {print i}}' demo.txt
さて(今確認してみたら)@グランドマスター~の回答私の視点では、それは同じことをしてより良く見えます。