• ベストアンサー

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

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

  • defd
  • お礼率19% (11/56)

質問者が選んだベストアンサー

  • ベストアンサー
  • asuca
  • ベストアンサー率47% (11786/24626)
回答No.1

abcを入れたtest2.txstなどを作ってそこにtest.txtを追加するという形にしかdきないのではないかと思います。 つまり echo "abc" > test2.txt echo test.txt >> test2.txt などのようにですね。

その他の回答 (2)

  • asuca
  • ベストアンサー率47% (11786/24626)
回答No.3

ro-suさんありがとうございますコピペして修正するのを忘れていました。 echo ではなくcatですね。

  • ro-su
  • ベストアンサー率24% (19/79)
回答No.2

NO.1が微妙に違うので突っ込んでおきます。 echo "abc" > temp_file cat test.txt >> temp_file mv temp_file test.txt でいいかと思います。環境によってはマージコマンド駆使すれば何とかなりそうなのですが、環境を教えて貰えませぬか。

defd
質問者

補足

redhat8.0 です。

関連するQ&A

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

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

  • 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
  • aaa.php?abc=1で渡したabcの値をechoする方法

    <a href='aaa.php?abc=1'>テスト</a> と記述したとします。 テストというリンクをクリックすると、aaa.phpに渡されますが、そのaaa.phpで、abcの値をechoしたいとき、どのように記述すればいいのでしょうか? <?php echo ×××; ?> ××× の部分が分からなくて困っています。初歩的ですみません。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 以下のtest.batでtest.txt中のダブルコーテションを削除し

    以下のtest.batでtest.txt中のダブルコーテションを削除したいと考えています。 【test.bat】 @echo off if "%1"=="" goto end set fname=%1 copy %fname% org >nul type nul >%fname% for /f %%a in ( org ) do (set line=%%a&& call :sub) del org goto end :sub set l=%line:"=% echo %l%>>%fname% goto :EOF :end 【test.txt】 "test1",101,1 "test2",201,2 "test3",301,3 dos窓からtest.bat test.txtを実行し、test.txt の内容を確認すると、 test1,101, という結果になります。 なぜ、最後の数字が削除されるのか? 2行目、3行目のデータが無くなるのは? というところがわかりません。 単純にダブルコーテーションを削除するにはどうしたらよいでしょうか? よろしくおねがいします。

  • ローカルのtest.txtを1行ずつ読み込みたい

    javascriptでローカルのtest.txtを1行ずつ読み込みたいため、ネットでtxtファイルの読み込みのコードを 探したら、自分のやりたいのに一番近いなと思う http://www.happy2-island.com/vbs/cafe02/capter00 … が見つかりました。 しかし、貼り付けて実行しても何も表示されません。 objParm(0)を"test.txt" objFileSys.BuildPath(strScriptPath,strFileName)を "file:///C:/Users/aaa/Documents/javascript"に WScript.echoをdocument.write とかに書き換えてみても、test.txtの中身が表示されません。 他にも検索するのですが、ネット上のtxtファイルの読み込み方とか いまいちなコードしか検索ででてこず困っています。 test.htmlと同じローカルのディレクトリにあるtest.txtを読み込みたいのです どのように書けばいいのでしょうか。 アドバイスいただけるとうれしいです。

  • echo 改行できない

    コマンドで空白行を作りたいのですが、 次のどれを試しても、出力したファイルを見ると、空白行ができていません。 どうしたらできるのでしょうか? echo. echo; echo:

  • *.txtファイルの最終行だけ参照して、バッチファイルを作りたい

    *.txtファイルのなかに"test"という文字をfindstrコマンド又はfindコマンドで探して、出力したいのですが、全ての行を参照して出力するのではなくて、最終行だけを参照して出力するといったバッチファイルを作成したいのですが、どうやればいいのでしょうか? どうぞよろしくお願いいたします。

  • Windowsのバッチファイルを利用しtxtファイルの指定のした位置に文字を追加する方法

    現在、下記内容のファイル(test.txt)指定した行に指定文字を追記できる方法を探しております。 【test.txt内容】 [test1] :::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::: [test2] [test4] :::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::: [test5] :::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::: end 【追記したい内容】 test.txtの"[test2]"行の下の行に以下の文字を追記したいです。 [test3] :::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::: 指定行に追記するというコマンド自体はないと思い、batやwshの本などを読んではいるのですがなかなか良い考えが浮かびません。 ご教示の程よろしくお願いいたします。

  • sedを使って複数ファイルの先頭行を表示

    以下の様なファイルがあります。 各ファイルの先頭行をとりだしたいのですが、headコマンドを使うと ファイル名と結果が分かれて表示されます。 sedで、-nオプションの行番号指定で表示することができるので、 sed -n '1p' *.txt のワイルドカード指定でやったのですが、 この場合だと複数ファイルとみてくれなくて、すべてのファイルを ひとつにしてその先頭を表示しているみたいです。 できれば、各ファイル毎に、ファイル名と結果を1行にして表示したい のですが、どうすればよいでしょうか。 参照ファイル cat 1.txt 12345 67890 cat 2.txt abcde fghij cat 3.txt 11111 22222 headコマンドで実行 $ head -n 1 *.txt ==> 1.txt <== 12345 ==> 2.txt <== abcde ==> 3.txt <== 11111 sedで実行 $ sed -n '1p' *.txt 12345

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

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