Sed +テキストファイルの行を表示するためにsedコマンドでパラメータを設定する方法

Sed +テキストファイルの行を表示するためにsedコマンドでパラメータを設定する方法

ファイルから行を印刷する次の方法が見つかりました。

この例では、ホストファイルの最初の行を印刷しようとしています。

sed -n '1,1p'  /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

しかし、sedコマンドのパラメータを使用して同じ操作を実行する方法

例えば

Line_number=1
sed -n ' $Line_number,$Line_numberp'  /etc/hosts
 sed: -e expression #1, char 4: extra characters after command

私のsed構文にはどんな問題がありますか?

ベストアンサー1

変数を拡張するには、シェルの「代わりに」を使用します。

例:

victor@pyfg:~$ line_number=2
victor@pyfg:~$ sed -n "${line_number},${line_number}p" /etc/hosts
1.2.3.4 row-2

1行だけ印刷するので、次のように印刷することもできます。

victor@pyfg:~$ sed -n "${line_number}p" /etc/hosts
1.2.3.4 row-2

おすすめ記事