変数行から文字列を削除したいと思います。
remove_text=' hi'
;
文書:
kjdkjdkjddkjd
djdk hi sjjsj
jfjf sisj hi
jdkjdk dkjdkdjd hi
hi sksk
hi
N行(この場合は2行)から削除したいと思います。
文書:
kjdkjdkjddkjd
djdk sjjsj
jfjf sisj hi
jdkjdk dkjdkdjd hi
hi sksk
ベストアンサー1
とても簡単ですsed
。
sed '2s/hi//' filename
ここで、2s
subs on line 2
(hi
最初のスラッシュペアのパターン)は置き換えられるパターンであり、2番目のスラッシュペアの間にパターンは削除されません。
このコマンドは変数にも機能しますが、次のように単一引用符ではなく二重引用符でコマンドを囲む必要があります。
remove_text=' hi'
sed "2s/${remove_text}//" filename
変数から行番号を選択したい場合でもこれを行うことができます。
ln=2
remove_text=' hi'
sed "${ln}s/${remove_text}//" filename
-i
with オプションを使用すると、sed
ファイルは所定の位置で置き換えまたは更新されます。