No.8ベストアンサー
- 回答日時:
下のソースをメモ帳にでもコピーして好きな名前で保存して使ってください。
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のコメントアウトは行頭に#をつければ良いです。
分からなかったら、また聞いてください。もう寝ますので、回答は明日以降になると思いますが。
No.12
- 回答日時:
>日付と時間を指定するだけでその名前を新規に
>作成するフォルダ名に反映させたいのですが
No.10さんが教えてくれたGNUコマンドのWin32移植版を使えば、簡単です(No.10さんにもお礼しましょう)。
GNUコマンドのsh.exeを使います。
name=`date +'%Y%m%e_%H%M%S'`
mkdir $name
とメモ帳などで書いて、例えば、date_folder.shなどと名前をつけて保存します(この例では、フォルダ名に秒まで入ります)。
コマンドプロンプトから、
sh.exe date_folder.sh
を実行するとお望みのことができます。実際にWinでやったわけじゃありません。Linux上ではできます。もっとも、Unix系では、次のような感じでコマンドから直接打ってもできます。
mkdir `date +'%Y%m%e_%H%M%S'`
もちろん、perlでプログラム組んでもできますが、そんなことするほどのもんじゃないし。
No.11
- 回答日時:
> GNUコマンドのWin32移植版を使うといいと思います。
これいいね。CygwinかマイクロソフトのServices for UNIXしか知りませんでした。これは、Cygwinみたいに皮をかぶせる必要がなく、Winネイティブだから楽ちんね。sedもあるし、toubousyaさんのやりたいこともすぐですね。
この回答への補足
本当に有難うございました。
いろいろ使ってみて自分に良かったのを
使わせていただきたいと思います。
damejanさん、新たに質問していですか?
日付と時間を指定するだけでその名前を
新規に作成するフォルダ名に反映させたいのですが
そんなことは出来るでしょうか?
例えば、2003年5月21日、13時30分というのであれば、
フォルダ名に 20030521_1330 というような
フォルダ名にしたいのですが…。
No.10
- 回答日時:
おはようございます。
GNUコマンドのWin32移植版を使うといいと思います。
プログラムを組まなくていいしインストールも簡単で
後々応用が利くのでオススメですよ。
参考URLから"UnxUtils.zip"をダウンロードして適当なところに解凍し、
"usr\local\wbin"にPathを通します。
たとえば、"C:\UnxUtils"に解凍した場合、"C:\UnxUtils\usr\local\wbin"に
Pathを通します。
そして、コマンドプロンプトから
C:\>C:\UnxUtils\usr\local\wbin\find . -maxdepth 1 -name *.txt -exec head -n5 {} ;
とすれば"c:\"の"*.txt"ファイルの先頭5行を出力してくれます。
"."の部分を実行したいフォルダー名にするか、実行Pathを移動すれば
任意の場所のファイルで実行できます。
あとは、ファイルにリダイレクトするだけです。
(コマンドの詳細はgoogleなどで調べてみてくださいね)
注意1:上記コマンドで"C:\UnxUtils\usr\local\wbin\find"としているのはDOSのFINDコマンドを使用しないためです。
注意2:上記コマンドの最後の部分ですが、"}"と";"の間に空白を必ず入れてください。
では。
参考URL:http://www.weihenstephan.de/~syring/win32/UnxUti …
有難うございました。
Unixは前から興味を持っていて
いつかは使ってみたいと思っていたので、
勉強も兼ねて使ってみたいと思います。
いろいろと有難うございました。
No.9
- 回答日時:
別に間違っちゃいないんだけど、プログラムの10行目
if($count >= $end) {last;}
じゃなくて
if($count == $end) {last;}
でよかった。
No.7
- 回答日時:
>それと、sedって2000とかXPでもOKなの?
NTがいけるから、大丈夫じゃない。手元にWinマシンがないから分かんないけど。
toubousyaさんのやりたいことの確認です。
(1)複数のファイルに対して、出力ファイルは1つだけですか?
file1.txt, file2.txt, file3.txt, ... の結果が、それぞれ、out1.txt, out2.txt, out3.txt, ... に出力されるという感じ?
それとも
(2)それぞれのファイルに対して、1つずつ出力ファイルが必要ですか?
file1.txt, file2.txt, file3.txt, ... の結果が全てoutall.txtに出力されるという感じ?
一応、perlスクリプトはもうできていて、こんな感じで使えます。file1.txtの3行目から5行目までを表示する場合、
perl GetLines.pl 3 5 file1.txt
この出力をout1.txtに書き込む場合
perl GetLines.pl 3 5 file1.txt > out1.txt
No.5
- 回答日時:
分かった。
Services for UNIXとかPerlじゃなくて、sedにしよう。sedなら物凄く簡単。toubousyaさんがやりたいことに対してプログラムの必要なし。例えば、file1.txtの5行目から13行目まで出力したいときには、
sed -n 5,13p file1.txt
とコマンドプロンプトから打ち込むだけでいいから。
sedにしよう、やっぱり。
参考URL:http://www.vector.co.jp/soft/win95/util/se015016 …
No.4
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PDF PDFを自動添付したメールを送信してくれるツールを探しています。 2 2023/02/07 15:19
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
- 画像編集・動画編集・音楽編集 動画のトリミング 結合 削除が可能なフリーソフト 2 2022/05/02 22:08
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
- フリーソフト テキストファイル内を検索したい 1 2022/06/01 08:33
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- その他(IT・Webサービス) WEBサイト内のファイルを探す方法は? 1 2022/11/11 16:38
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行すると メッセージボックスが表示されて okをク 4 2023/07/05 19:32
- PDF PDFに精通した方に質問。JPEGファイル群を一つのPDFファイルにするときの容量変化について 6 2023/07/23 19:06
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelでdatファイルを作成??
-
batファイル処理でのテキストフ...
-
複数のテキストファイルをexcel...
-
複数のファイルを同時検索し、...
-
一気にずばっと複数のメールを...
-
バッチファイルが作成できない
-
ファイル名の特定文字だけ削除...
-
携帯のアプリ
-
WORD VBAでテキストファイルを...
-
メモ帳(テキストエディタ)に...
-
Windowsのメモ帳に何かを書いた...
-
拡張子が.txtのファイルに将来...
-
C言語を使用し、同じ内容のファ...
-
複数のテキストファイル(拡張...
-
マクロでメモ帳に貼り付け
-
VBSでテキストファイルのタブ区...
-
VBAでファイルパスが長すぎてコ...
-
Microsoft Access エラー 3051
-
OpenTextFile で書き込みできま...
-
HTMLプログラムにExcelをリンク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数のテキストファイルをexcel...
-
Excelでdatファイルを作成??
-
バッチファイルが作成できない
-
batファイル処理でのテキストフ...
-
テキストファイルの文字色に色...
-
複数のファイルを同時検索し、...
-
一気にずばっと複数のメールを...
-
ファイル名の特定文字だけ削除...
-
CDの曲名をテキストファイルで...
-
VBSでテキストファイルのタブ区...
-
CADでグラフ作成
-
KADOKAWA電撃文庫ってフォーマ...
-
文字の頭文字順に自動移動
-
windowsへscp
-
マクロでメモ帳に貼り付け
-
powershell で出力したテキスト...
-
Atokのユーザー辞書に、複数の...
-
ExcelVBA テキストファイルから...
-
複数テキストファイルをエクセ...
-
インデザインのテキスト流し込み
おすすめ情報