2017-04-26 11 views
0

catを使用してcsvファイルをコーミングすることに精通しています。私はまた、行を指定する際にそれに精通しています。指定されたデータのみを1つのcsvファイルに結合する

私が知る必要があるのは、csvファイル内の指定された行を開始する指定された列だけを結合する方法です。私が使用しているCSVファイルはまあまあですが、それらはすべて同じフォーマットです。私は彼らの出力を制御することはできませんし、数百のファイルを結合する方法を理解することを余儀なくされています。データの

例:

| Column1  | Column3 | Column4  | Column5 | Column6  | Column7 | Column8 | Column9 | Column10  | Column11 | 
|--------------|---------|--------------|---------|--------------|---------|---------|---------|--------------|----------| 
| garbage data |   | garbage data | garbage |    |   |   | garbage |    |   | 
| garbage data |   | garbage data |   |    |   |   |   |    |   | 
| garbage data |   | garbage data |   |    |   |   |   |    |   | 
| garbage data |   | garbage data |   |    |   |   |   |    |   | 
| garbage data |   | garbage data |   | garbage  | garbage |   |   |    |   | 
| garbage data |   | garbage data |   | good data 1 |   |   |   | good data 1 | garbage | 
| garbage data |   | garbage data |   | good data 2 |   |   |   | good data 2 | garbage | 
| garbage data |   | garbage data |   | good data 3 |   |   |   | good data 3 | garbage | 
| garbage data |   | garbage data |   | good data 4 |   |   |   | good data 4 | garbage | 
| garbage data |   | garbage data |   | good data 5 |   |   |   | good data 5 | garbage | 
| garbage data |   | garbage data |   | good data 6 |   |   |   | good data 6 | garbage | 
| garbage data |   | garbage data |   | good data 7 |   |   |   | good data 7 | garbage | 
| garbage data |   | garbage data |   | good data 8 |   |   |   | good data 8 | garbage | 
| garbage data |   | garbage data |   | good data 9 |   |   |   | good data 9 | garbage | 
| garbage data |   | garbage data |   | good data 10 |   |   |   | good data 10 | garbage | 

EDIT:所望の出力は、「良好なデータが」ダウン始まる行6あろうカラム6および10

から(ファイル1000〜2000行毎です)

EDIT 2:所望の出力

| Column10  | Column6  | 
|--------------|--------------| 
| good data 1 | good data 1 | 
| good data 2 | good data 2 | 
| good data 3 | good data 3 | 
| good data 4 | good data 4 | 
| good data 5 | good data 5 | 
| good data 6 | good data 6 | 
| good data 7 | good data 7 | 
| good data 8 | good data 8 | 
| good data 9 | good data 9 | 
| good data 10 | good data 10 | 

すべてのフィードバックは大歓迎です。

+0

ている場合は? – codeforester

+0

私はちょうど「編集」の下の質問に答えを残しました..ありがとう! – lcm

+0

あなたのデータは実際には ' - 'と '-'で表示されますか、またはカンマがセパレータとして本当にありますか?あなたはそれを 'csv'と記述します... –

答えて

1

使用sedcut

sed '1,6d' file | cut -f6,10 
  • sed '1,6d'第6
  • cut -f6,10必要な列を抽出する(区切り文字として使用してタブ)

にまでのすべての行を削除しますすべてのCSVファイルを一度に処理する:

sed '1,6d' *.csv | cut -f6,10 > output.csv 
+0

これは有望ですが、このエラーが発生します。文字エンコーディングが原因であると想定していますか? cut:stdin:不正なバイトシーケンス – lcm

3

彼らは本当にあなたの希望する出力は何CSVファイル、

awk -F, 'FNR>5 {print $6,$10}' *.csv > BigBoy.csv 
+0

これは理想的です...私はどのように列が指定されるのが好きです。ファイルは本当にCSVです.. – lcm

関連する問題