- ベストアンサー
こういうソフトを探しています
フォルダにあるファイル(5つ程度で それぞれ内容の異なるファイル)を開けることなく、 その中の内容の指定された行数だけ別ファイルに書き 出すようなソフトを知らないでしょうか? 一度Cで作ろうとしたのですが、 締め切りが迫って来た為、 今回はフリーソフトでと思って探しています。 どうかよろしくお願いします。
- みんなの回答 (12)
- 専門家の回答
質問者が選んだベストアンサー
下のソースをメモ帳にでもコピーして好きな名前で保存して使ってください。Cが分かるようなのでC likeに書いてみました(perl likeに書くともうちょっと省略できるんだけど)。インデント(字下げ)がおかしいようなら、適当にインデントしてください(Cのインデントと同じです)。 ------------------------------------------------ ($start, $end, @files) = @ARGV; foreach $file (@files){ $count = 0; open(IN, $file) || die "$file: ", $!; printf("### %s\n", $file); while($line = <IN>){ $count++; if($start <= $count) {printf("%s", $line);} if($count >= $end) {last;} } close(IN); printf("\n"); } ----------------------------------------------- perl for winのインストール/設定は、自分でやってね(winマシンがないからアドバイスできなし)。 使い方は、#7の最終行そのものです。入力ファイル指定には、複数ファイルを指定できます(もちろんワイルドカードで指定もできます)。 プログラムでは、入力ファイル名も出力するようになっていますが、不要だったら、6行目のprintfをコメントアウトしてください。また、それぞれのファイルの処理結果の間にスペースが入るようになっていますが、それも不要でしたら、13行目のprintfもコメントアウトしてください。※perlのコメントアウトは行頭に#をつければ良いです。 分からなかったら、また聞いてください。もう寝ますので、回答は明日以降になると思いますが。
補足
OSは2000またはXPで考えています。 ファイルはもちろんテキストファイルです。 よろしくお願いします。