質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

Q&A

解決済

2回答

915閲覧

シェルで2つのCSVファイルから特定の列を取得し、新しいCSVファイルを作成したい。

merci_children

総合スコア44

bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

0グッド

0クリップ

投稿2018/12/16 02:47

【質問】
2つのCSVファイルの特定の列のみ取り出し、新たにCSVファイルを作成したいです。
恐れ入りますが、教えていただけるとうれしいです。

cat list.csv | cut -d "," -f 1,3 > newList.csv # ここから先が詰まっている。。。

(例)
・list.csv
id, name, address
1, mike, foo
2, bob, bar
3, nancy, baz
4, ken, boo

・list1.csv
tel, comment
000, test
000, test
000, test
000, test

newList.csv
id, addres, tel, commnet
1, foo , 000, test
2, bob , 000, test
3, nancy , 000, test
4, ken , 000, test

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

emasaka

2018/12/16 04:33

結果のnewList.csvのうち、“1,”の行の2列目は、特定の列を取り出すと“mike”が正しいように思えますが、“foo”が正しいのでしょうか?
merci_children

2018/12/16 04:40

すいません。mikeが正しいです。
sazi

2018/12/16 05:16

その後にDBに取り込むんでしょうか?
sazi

2018/12/16 07:23

それなら、copyでそれそれ取り込んでから、insert時に結合する方が楽だと思います。 取り込み用のテーブルは全て文字型にしておくと、エラーチェックなども行えます。
guest

回答2

0

ベストアンサー

こんな感じでしょうか

$ paste -d, list.csv list1.csv | cut -d, -f1,2,4,5 id, name,tel, comment 1, mike,000, test 2, bob,000, test 3, nancy,000, test 4, ken,000, test

投稿2018/12/16 04:52

emasaka

総合スコア524

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

〇ひとつの方法
step 1
pasteコマンドを使う。
paste --delimiters=, list.csv list1.csv > list_tmp.csv

step2
awkコマンドで1,3,4,5番目の項目をnewList.csvに出力する。
入力は、list_tmp.csv。デリミタは「,」

投稿2018/12/16 03:58

ikapy

総合スコア1167

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

merci_children

2018/12/16 06:52

awkコマンドの使い方がわからないので、教えていただきたいです。
ikapy

2018/12/16 12:18

調べてください
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問