2017-04-26 100 views
0

我熟悉使用cat梳理csv文件。在指定行時我也很熟悉。僅將指定的數據合併到一個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中,其中「良好的數據」開始向下(文件各自1000〜2000行)從第6列和10

編輯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'將刪除所有行一直到第六
  • cut -f6,10將提取需要的列(使用選項卡作爲分隔符)

要一次處理所有csv文件:

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

這看起來很有希望,但導致這個錯誤..我假設它是因爲字符編碼?切:標準輸入:非法字節序列 – lcm

3

如果他們真的是CSV文件,

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

這將是理想的...我喜歡如何指定列。文件真的是csv .. – lcm

相關問題