- ベストアンサー
ファイル中の数行を抜き出す処理について(シェル)
ファイルaaa.txtの2行目から4行目を抜き出し、 ファイルbbb.txtに格納する方法として、 sed -n '2,4p' aaa.txt > bbb.txt がありますが、 変数を使用し、 start=2 end=4 sed -n '${start},${end}p' aaa.txt > bbb.txt とすると、エラーが発生します。 どうすればよろしいのでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> sed -n '${start},${end}p' aaa.txt > bbb.txt シングルクォートで囲った変数は値に展開されません。 sed -n ${start},${end}p aaa.txt >bbb.txt と、なっていることが原因だと思われます。 シェルスクリプトの中で ${start},${end}p はひとつの引数として 扱われると思われ次のようになると思われます。 arg1 は ${start},${end}p arg2 は aaa.txt sed -n arg1 arg2 >bbb.txt シングルクォートで囲まず start=2 end=4 sed -n ${start},${end}p aaa.txt > bbb.txt と、すれば動きませんか?
その他の回答 (1)
- sakusaker7
- ベストアンサー率62% (800/1280)
回答No.1
シングルクォートじゃなくダブルクォートでくくる。