UNIX: catコマンドで無限ループ???
正確にはOS X 10.9.5のbashですが、UNIX一般の質問と思われるのでこのようなタイトルにしました。
catコマンドで、あるテキストファイルのあとに、同じテキストファイルをつくろうと思いましたが、無限ループになってしまい、巨大ファイルができてしまいます。
最初、このようにしてa.txtという1行のファイルを作りました。
[~]$ cat > a.txt
aaa
それで、同じa.txtを
aaa
aaa
という2行のファイルにしたいと思い、以下のようなコマンドを入力しました。
[~]$ cat a.txt >> a.txt
自分の目論見としては、a.txtの内容がa.txtに追加されるので、2行になるかと思いましたが、応答がなくなりました。
Ctrl+Cで停止し、a.txtの内容を見ると
[~]$ cat a.txt
aaa
aaa
aaa
aaa
aaa
aaa
・・・・・・
と何千行も入っています。
ファイルのサイズはこれぐらいでした。
[~]$ ls -al a.txt
-rw-r--r-- 1 TYWalker staff 16898724 9 22 12:57 a.txt
これは、なぜこのような現象になるのでしょうか。
また、私が本来やろうとしたことを、簡単なコマンドで行うにはどうすればいいでしょうか。
よろしくお願いします。
お礼
ありがとうございます。