質問 |
||
| 質問者: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 |
|
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |