Sedコマンドは、行番号を使用してファイルから特定の行を削除するために使用され、変数と一緒に使用すると削除されません。

Sedコマンドは、行番号を使用してファイルから特定の行を削除するために使用され、変数と一緒に使用すると削除されません。

このコマンドを変数と共に使用します。

sed '/${LN_NM}/d' file.txt

行を削除するために使用していますfile.txt。ただし、変数なしでこのコマンドを使用すると正常に動作します。

答え1

/regular expression/dその正規表現に一致する行は削除されます(したがって、$LN_NUM5または18などの数字の場合、その数字はすべての行に含まれます)。特定の行番号を削除するには:

sed "${LN_NM}d" file.txt

行を削除した後にファイルを保存するには、代わりにed次のように使用しますsed

ed -s file.txt <<EOF
${LN_NM}d
w
EOF

答え2

@plumoがすでに述べたように'(二重引用符)を使用すると、変数は置き換えられません。

二重引用符を使用してコマンドを変更する"と、トリックが実行されます。

sed "/${LN_NM}d/" file.txt

関連情報