指定された切断順序でCSVファイル列を表示する方法

指定された切断順序でCSVファイル列を表示する方法

-d "," -f 32,4,6,43,12,9 を切り捨てるために csv ファイルのフィールドを切り取りました。サンプルCSVファイルには、果物1野菜2花3動物4鳥5列が含まれています。

「flowers3 veg2bird5」列を持つようにこのファイルを切り取っていますが、ここでファイルの出力はカットに指定された順序ではありません。

代わりに、列番号の昇順でソートされます。つまり。野菜2花3鳥5

ファイルの出力がカットで指定された列番号順に表示されるようにします。

答え1

マニュアルページによると、カットは列の順序を変更できません。選択したフィールドは、読み取った順序と同じ順序で記録されます。

cut(1) マニュアルページ:

-b、-c、または-fのいずれかを使用してください。各LISTは、1つの範囲、またはカンマで区切られた複数の範囲で構成されています。選択した入力は、読み取った順序と同じ順序で書き込まれ、正確に一度書き込まれます。

ただし、awkを使用して必要な操作を実行できます。

awk -F "," '{print($32,$4,$6,$43,$12,$9)}' text.csv

関連情報