現在、awk を使用して、次のような .csv ファイルを再配置しようとしています。
stack,over,flow,dot,com
出力は次のようになります。
over,com,stack,flow,dot
(または、これを例として使用する他の順序)
csvファイルを再配置する時が来たら、私は以下を使用しようとしています:
first='$2'
second='$5'
third='$1'
fourth='$3'
fifth='$4'
awk -v a=$first -v b=$second -v c=$third -v d=$fourth -v e=$fifth -F '^|,|$' '{print $a,$b,$c,$d,$e}' somefile.csv
awk/print が $a、$b、$c などをフィールド番号として解釈することを意図しているため、次のようになります。
{print $2,$5,$1,$3,$4}
csvファイルのフィールドをその順序で出力しますが、残念ながら、これをまだ正しく機能させることができませんでした. 私はいくつかの異なる方法を試しましたが、これが最も有望なように思えますが、残念ながらまだ正しく機能する解決策を得ることができませんでした. そうは言っても、現時点で困惑しているので、誰かが何か提案をしたり、私の欠陥を指摘したりできるかどうか疑問に思っていました。