sed での変数指定方法


⓵ `sed -e '$row_number,$d' $job_name`

任意のファイル（`$job_name`）に対して、任意の行数（`$row_number`）から最終行を  
削除したいと考えています。

変数として、下記を割り当てています。

`$row_number`  
`$job_name`

⓵の実行結果が望んだ様になりません。

調べた結果、どうも、`'$row_number,$d'`の部分に問題があるかと考えていますが、  
正解がわかりません。※変数の指定方法に問題があるのではないかと考えています。

あるサイトでは、「'」は不要と書かれていました。しかし、実行結果は、指定行は削除されませんでした。

教示頂きたいです。宜しくお願い致します。




`'` の位置を変えてみましょう。

[code]

    sed -e $row_number',$d' $job_name
    
[/code]

`$row_number` は shell によって解釈されるようになりますし、  
また、`$d` は `'` で囲まれているので shell によって解釈されません。

あと、上に挙げた方法だと、標準出力に結果が出力されます。もし `$job_name` に指定したファイルを書き換えたい、ということでしたら、`-i`
を付けるとできます。

[code]

    sed -i -e $row_number',$d' $job_name
    
[/code]

書き換えちゃうと元には戻りませんので、慎重にどうぞ。

