匿名質問者

コマンドプロンプトで見出しを飛ばしながらファイルを統合したい。


コマンドプロンプトで
月毎のファイルを1つにまとめる処理を覚えてよく使っているのですが、
>copy *.csv matome.csv

ファイル毎に見出しがついている場合などは見出しも全てコピー統合されます。
例えば、上2行を飛ばしながらデータをコピーしていく、書き方はありますか?
copyコマンドでなくても構いません。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2013/03/28 15:40:04

回答3件)

匿名回答1号 No.1

ないです。

匿名回答2号 No.2

findコマンドでmatome.csvから見出し行を検索して消す
http://www.atmarkit.co.jp/fwin2k/operation/command006/command01.html

他1件のコメントを見る
匿名回答2号

訂正しました。教えてくれてありがとう。

2013/03/21 16:17:26
匿名質問者

2号さん1号さん、ありがとうございました。
copyコマンドが簡単だったので、と思ったのですが、それなりに勉強しないと進めなさそうですね…。追々勉強したいと思います。

2013/03/25 15:23:43
匿名回答3号 No.3

Linux なら、

for f in *.csv; do tail -n+3 $f >>matome.csv; done

で出来るけど、Windows でやるとしたら、同じ事を PowerShell 上で

foreach ($f in Get-ChildItem *.csv) { Get-Content $f | Select-Object -Skip 2 >>matome.csv }

かな。

注意が必要なのは、matome.csv が既にある場合、更に追記される形になるので、事前に matome.csv を削除するなり、空にする必要はあります。

匿名質問者

下のコードをコピーして、実行してみましたが、ダメでした。
何かをちょっとなおせば、いけるのかもしれませんが、
私には難しかったので、少しずつ勉強してみます。
でもありがとうございます!!!!

2013/03/25 15:26:03
  • 匿名回答4号
    匿名回答4号 2013/03/22 09:21:59
    echo off
    for /f %a in ('dir /b *.csv') do (for /f "skip=2" %b in (%a) do (echo %b)) >> matome.txt
    rename matome.txt matome.csv
    echo on

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません