- ベストアンサー
任意の場所にリダイレクトしたい。
皆さんこんにちわ! 質問させていただきます。 例えば、test.txtというファイルがあったとしてそのファイルの中身が、 % cat -n test.txt 1 one 2 two 3 four 4 five であって、Shell上から、echoコマンドを使って三行目に追記したい。 というのは、可能でしょうか? どなたか、知恵をお貸しいただければ幸いです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1さんの方法だと、各行が空白文字を含まないということが前提ですね。 シンプルに、 head -2 test.txt echo tree tail +3 test.txt
その他の回答 (1)
- syea
- ベストアンサー率50% (6/12)
回答No.1
headコマンドとtailコマンドを使うことで可能です。 --------------------------------- #!/bin/sh w1=`head -2 test.txt` <= 前2行のread w2=`echo $w1; echo three` <= 新行(three)のadd w3=`echo $w2; tail +3 test.txt` <= 3行目以降のread for res in $w3 <= 全体の表示 do echo $res done --------------------------------- one two three four five
質問者
お礼
遅くなりました。 ありがとうございました!tailに+があることを知りませんでした。勉強になりました!
お礼
遅くなりました。すごくシンプルですね。 ありがとうございました。こんなやり方もあるのですね。勉強になりました!