ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

質問者:taka394 ファイル中の数行を抜き出す処理について(シェル)
困り度:
  • すぐに回答を!
ファイル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
とすると、エラーが発生します。
どうすればよろしいのでしょうか。
質問投稿日時:08/03/14 01:56
質問番号:3861019
この質問に対する回答は締め切られました。
最新から表示回答順に表示良回答のみ表示

回答

良回答20pt

回答者:x415f484f > 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

と、すれば動きませんか?
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:08/03/14 03:09
回答番号:No.2
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

良回答10pt

回答者:sakusaker7 シングルクォートじゃなくダブルクォートでくくる。
種類:回答
どんな人:経験者
自信:参考意見
回答日時:08/03/14 02:57
回答番号:No.1
この回答へのお礼この回答にお礼をつける(質問者のみ)
 
最新から表示回答順に表示良回答のみ表示