人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

複数のテキストファイル(*.txt)の行頭または行末に、指定した複数行の文字列を一括で挿入したいです。ファイル名ではなくファイルの中身です。置換ソフトでは、置換対象の文字が必要なのでできません。
そのような作業を可能にするツールはありますか?どこかで秀丸エディタでできるようなことを見つけたのですが、できれば無料のツールを希望します。


●質問者: driver4649
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:txt ソフト テキスト ファイル 希望
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● pahoo
●27ポイント

単純にテキスト結合してはどうでしょうか。

PerlやPHPを使えば、複数ファイルに対する処理も簡単に制御できます。


プログラムを書くのが面倒でしたら、少し手間がかかりますが、バッチ処理を使ってできます。

たとえば Windows であれば、copy コマンドを使い、下記のようなバッチを書きます。この場合は複数のテキストファイル(1.txt, 2.txt, 3.txt)の冒頭にhead.txtを、末尾にtail.txtを追加し、各々、hoge1.txt, hoge2.txt, hoge3.txtとして出力します。

copy head.txt+1.txt+tail.txt hoge1.txt
copy head.txt+2.txt+tail.txt hoge2.txt
copy head.txt+3.txt+tail.txt hoge3.txt
...

Linuxでは cat コマンドが同様の働きをします。

◎質問者からの返答

すいません、何となく意味はわかるのですが

プログラムの知識がないので無理そうです

参考にさせて頂きます


2 ● 空山
●27ポイント

いわゆるテキスト処理系のツールを使うのがよろしかろうと思います。

私が使い慣れているsedでは、

一行目への挿入であれば

1s/^/(入れたい文字列)\n/

一行目の行頭に「(入れたい文字列)+改行」を入れる。


最終行への挿入であれば

$s/$/\n(入れたい文字列)/

最終行の行末に「改行+(入れたい文字列)」を入れる。


sedの場合は、複数のファイルを一度に、というのは、別のソフトと組み合わせる必要がありますが、perlなどだったら、単体で出来ます。


敷居が高い、とお感じになるのであれば、多分、置換ソフトでも、行指定が出来るものがあるだろうと思います。


要は、

一行目の行頭(という見えない文字)を「(入れたい文字列)+改行」に置換する。

最終行の行末(という見えない文字)を「改行+(入れたい文字列)」に置換する。

ということです。

◎質問者からの返答

http://www.linux.or.jp/JM/html/GNU_sed/man1/sed.1.html

こちらでしょうか。これは何かのソフトでしょうか

perlはcgiの設置とちょっとした改造の知識しかなく

おそらく的確な回答ではあると思うのですが

やはり恥ずかしながら、回答の意味がわかりません

自分のスキル知識の浅さに悔やまれます


3 ● ransamu
●54ポイント ベストアンサー

Devas

http://www.vector.co.jp/soft/win95/util/se162621.html

この置換ソフトは正規表現に対応していますので、検索モードを「正規表現検索」にして、検索文字列を、ファイルの先頭なら「¥A」 、ファイルの末尾「¥z」、にして置換すればご希望の動作をするかと思います。

◎質問者からの返答

ありがとうございます!

できました!

正規表現を詳しく知らないのですが、正規表現対応の置換ツールであれば可能のようですね

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ