• 締切済み

ファイルの先頭に文字を追加するには?

ファイルの先頭に文字を追加するにはどうしたらよいでしょうか? ファイルの末尾に追加するなら echo 追加する文字列 >> ファイル名 でオッケーですが、 先頭に追加する方法が、単純そうなのに、調べても分かりませんでした。 例えば test.txt の中身が以下で、 aaa bbb # echo hello >> test.txt で aaa bbb hello となりますが、 hello aaa bbb とするには、どうしたらよいでしょうか。 単純なコマンドはあるでしょうか。

みんなの回答

noname#227025
noname#227025
回答No.2

色々方法はあると思いますが、GNU sed なら以下のようにすればできます。 sed -i '1s/^/hello\n/' test.txt

tanpopo012
質問者

お礼

バッチリできました!ありがとうございました。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

普通のノートに途中まで書いてあるとします. 末尾に追加するのと先頭に追加するのとでは, どちらが簡単だと思いますか? 結論としては「単純なコマンド」はない, と.

関連するQ&A

  • echo "abc" >> test.txt で、先頭に追加するには?

    コマンド入力で、 echo "abc" >> test.txt だと、最終行に追加されていきますが、 先頭行に追加していくにはどうしたらいいでしょう。

  • Perl 先頭行に追加

    恐れ入ります。 Perlで、配列がカンマで区切られたデータを読み込み、 その先頭行にデータを挿入したいのですが、 中々うまくいきません。 データ(/data/xxx.txt)の中身は、 test,test2 bbb,bbb2 ccc,ccc2 という感じで、カンマで区切られて改行で並んでいます。 そこに新たに$dateと$contで受けたデータを先頭行に追加する感じです。 open(FILE,"<./data/xxx.txt"); while($temp = <FILE>){ @temp=split(/,/,$temp); push(@ddr,"$temp[0]","$temp[1]"); } seek(@ddr,0,0); unshift(@ddr,($date,$cont."\n")); open(FILE,">./data/xxx.txt"); $new=join(",",@ddr); print FILE $new; close(FILE); このように書いていますが、 print FILE @ddr とすると、配列が壊れた状態(全て繋がる)で先頭行には挿入されたのですが、カンマで区切って配列にして並べようとしたら、 test,test2 ,bbb,bbb2, ,,ccc,ccc2,, という感じで上手く並びません。 よろしくおねがいします。

    • ベストアンサー
    • Perl
  • バッチファイルの正規表現を利用した文字列検索

    お世話になっております。 表題の件について、質問させてください。 『とあるファイルに記述されている文字列を一部抜き出して、 別ファイルとして保存する』というバッチファイルを作成していますが、 うまく抜き出すことができないため、ご教示いただければ幸いです。 例) ・filelist.txt .\aaa\aaa.txt .\aaa\bbb.txt 上記ファイルに対し、「.\aaa\aaa.txt」の一行のみ取り出した 「aaafile.txt」というファイルを生成したいと考えております。 現在、私が考えたコマンドは下記になります。 for /f %%A in ('findstr /r /c:"aaa[^\\].*" filelist.txt') do echo %%A > aaafile.txt このコマンドを実行すると、「.\aaa\bbb.txt」まで抽出してしまい、 意図通りとなりません。 初歩的なミスかもしれませんが、 何卒、よろしくお願いいたします。

  • テキストファイルの任意の文字以降の文字列を削除したい

    test.txt AAA+あいうえお BBB+かきくけこ CCC+さしすせそ DDD+たちつてと EEE+なにぬねの 上記(test.txt)のようなテキストファイルから、各行の+以降の文字列を削除して、 以下(result.txt)のようなテキストファイルを生成させるプログラムを作成させたいです。 result.txt AAA BBB CCC DDD EEE このようなプログラムを作るにはどのようにすればよいでしょうか? よろしくお願いします。

    • ベストアンサー
    • Java
  • テキストファイルの一部置換したファイルをたくさん作りたい

    テキストファイル(a.txt)があるのですが このファイルの一部の文字列aaaをbbbに置換したファイル(b.txt)を作りたいです。 また文字列aaaをcccに置換したファイル(c.txt)も作りたいです。 続けてd.txtやe.txt・・・と作っていきたいですが簡単にできるフリーソフトはないでしょうか? 現状はa.txtを開いてaaaをbbbに置換して、別名で保存するのを繰り返し(10回以上)するので大変です。 このようなことが楽にできるフリーソフトがあれば教えてください。

  • CSVに外部テキストファイルを列として追加する方法

    こんにちは。 CSVファイル(base.csv)の先頭列に、別のテキストファイル(add.txt)の中身を新規の列として挿入したいと考えているのですが、よい方法がわかりません。。。 どうのような方法を使えば対応することができるでしょうか? どうぞよろしくお願いいたします。 ■CSVファイル(master.csv) title,developer_name,seller_name,primary_genre_name,application_url AAA,BBB,CCC,DDD,EEE AAA,BBB,CCC,DDD,EEE AAA,BBB,CCC,DDD,EEE AAA,BBB,CCC,DDD,EEE ■テキストファイル(add.txt) id 000 111 222 333 ↓ ■目標としたファイル(master.csv) id,title,developer_name,seller_name,primary_genre_name,application_url 000,AAA,BBB,CCC,DDD,EEE 111,AAA,BBB,CCC,DDD,EEE 222,AAA,BBB,CCC,DDD,EEE 333,AAA,BBB,CCC,DDD,EEE

  • 2つのファイルを用いた文字列置換(削除)の方法

    こんにちは。 テキストファイルA.txtに、検索したい文字列を1行ずつ入れておき、別のテキストファイルB.txtのうち、A.txtにある文字が含まれている行を削除するという作業をしたいです。 例えば A.txt AAA BBB B.txt hoge hogeAAAhoge hogeBhoge hogeBBBhoge の場合、 hoge hogeBhoge を出力させたいです。 このような処理ができる方法はないでしょうか?(コマンドやプログラム等)

  • DOSコマンドによるテキストファイル編集について

    下記「test1.txt」のようなファイルがあります。 先頭から指定桁目に特定文字を挿入し、末尾から指定桁分を削除する。それを行単位に行い、最終行まで繰り返す。 といったコマンド(構文)についてご教授頂けないでしょうか? 例: 先頭から4桁目に特定文字(XXX)を挿入 末尾から3桁分の文字を削除 <test1.txt> aaabbbcccddd eeefffggghhh ・・・ <実行結果:test1.txt> aaaXXXbbbccc eeeXXXfffggg 宜しくお願いします。

  • 数千件のファイル名を文字を小文字化して文字を追加

    どなたか、助けてください。 OSは、ウインドウズ7です。 特定のフォルダに入っている 数千件の ファイル名を (1) 小文字かして (2) 文字を追加したいのです。 いろいろ、調べたんですが、コマンドというものを使って 名前を変えるという下記のものは見つけたのですが >あるフォルダ内の.jpgファイルのファイル名の先頭に「2007_09_」という文字列を付加する例 >ファイル名を変更したいフォルダで、 >「for %i in (*.jpg) do ren %i 2007_09_%i というの応用して、 そのなかのファイル名を大文字半角から小文字半角に変えて さらに文字列を追加したいのです。 (3) また、そのファイル名のリストを作りたい のですが、未熟な私には、上手く 出来ず、困っています。 どなたか、詳しいお詳しい方、 (1) (2) (3) のコマンドの書き方をお教え助けてください。 お願いします。

  • バッチファイルで「,]区切りの文字を抜き出したい

    現在、バッチを作成しているのですが、txtファイルからの文字の抜き出しがうまくいきません。 findstr /b "aaa" C:\tmp\test.txt 上記で行毎では抜き出せるのですが、それから[ , ]区切り毎の抜き出し方がわかりません。 [test.txt] aaa,bbb,ccc,ddd eee,ffffff,ggggg,hhhh   ・   ・   ・ 下記のようにそれぞれ変数に代入したいと考えております。 aaaで実行する場合。 hoge1=aaa hoge2=bbb hoge3=ccc hoge4=ddd eeeで実行する場合。 hoge1=eee hoge2=fffff hoge3=ggggg hoge4=hhhh 変数への代入はfor文を使用しようと考えております。 追記いたしますと、各hoge~は先頭の[hoge1]を除き、行毎に文字数が異なり、行数は100行を超えますので、なんとかバッチの方で割り当てたいと考えております。 お知恵をよろしくお願いいたします。