つなぐ

INPUT · スライド

消さずに書き足す(`>>`)

01 / 06

> は消える。だから >>

前のレッスンで、>黙って上書きすることを見たね。日記やログのように積み上げていきたいファイルには使えない。

そのための書き方が >> だよ。矢印を2つ重ねるだけ。

echo 1月20日 ラーメン >> nikki.txt

いまある中身は残ったまま、いちばん下に足されるんだ。

~ $ cat nikki.txt1月5日 はじめた1月8日 つづけた~ $ echo 1月20日 ラーメン >> nikki.txt~ $ cat nikki.txt1月5日 はじめた1月8日 つづけた1月20日 ラーメン

02 / 06

>>> の違いはこれだけ

書き方無いときあるとき
>作る中身を消して書く
>>作るいちばん下に足す

無いときの動きは同じだよ。違うのは「すでに中身があるとき」だけ。

迷ったら >> のほうが安全だよ。足しすぎは直せるけれど、消えたものは戻らないからね。

03 / 06

どの道具の出口でも足せる

>>> と同じで、コマンドの側は何も知らないんだ。だからどの道具にも効くよ。

date >> kiroku.txt        # 時刻を足すls >> kiroku.txt          # 一覧を足すwc -l namae.txt >> kiroku.txt   # 数えた結果を足すcat betsu.txt >> kiroku.txt     # 別のファイルの中身を足す

「記録を1つのファイルに集めていく」というのは、この形でやるんだ。

これがログ(記録)の作り方の正体だよ。プログラムがやっていることも、結局これと同じなんだ。

04 / 06

date で時刻を残す

記録にはいつのことかが要るよ。それを出すのが date だよ。

date

打つと、いまの日時が1行で出るよ。これを >> で足せば、「いつ何をしたか」の記録になるんだ。

この学習環境の時計は世界標準時(UTC)で動いているので、日本の時刻とは 9 時間ずれているよ。気にしなくていいけれど、時刻がずれて見えたらそれが理由だよ。

~ $ dateFri Aug 21 06:49:10 UTC 2026

05 / 06

>> なら自分自身も少しは平気

> で同じファイルに向けると中身が消えたよね。>> はどうだろう。

cat f.txt >> f.txt

これは消えない(足すだけなので、先に空にしないから)。でもやめておこう。読みながら足すので、運が悪いと同じ行が延々と増え続けることがあるんだ。

「同じファイルを読みながら書く」は、> でも >> でも避けるのが正しいよ。別の名前に出してから入れ替えるのが安全な形だよ。

06 / 06

さあ、打ってみよう

nikki.txt に2行の日記、kiroku.txt に見出しの1行が入っているよ。

この回は同じ >> を何度も打つことになる。でも足す元のコマンドが毎回変わるよ。echodatelswccatfindgrep

覚えてほしいのは「>> の左には何でも置ける」ということ。それが分かれば、この回は終わりだよ。