2つをシェルスクリプトにパイプする方法は?

2つをシェルスクリプトにパイプする方法は?

ファイルで選択した列を切り取る方法。

例:

load.sh students.csv | select.sh ‘name’ ‘school_name’ 

これにより、ロードされたファイルの name および school_name 列が端末に出力されます。

ベストアンサー1

使用するかcsvcutcsvsqlcsvkit:

csvcut -c name,school_name students.csv
csvsql --query 'select name, school_name from students' students.csv

例:

$ cat students.csv
id,name,surname,school_name,favorite_color
1,Tom,Sawyer,Harvard,red
2,Bob,"the Builder",Oxford,orange
3,John,Sinclair,"Columbine High",blue
4,Walter,Mitty,"Thomas Jefferson High",green
5,Donald,Trump,Unknown,blue

$ csvcut -c name,school_name students.csv
name,school_name
Tom,Harvard
Bob,Oxford
John,Columbine High
Walter,Thomas Jefferson High
Donald,Unknown

おすすめ記事