ファイルのn行目のテキストを削除してください。

ファイルのn行目のテキストを削除してください。

変数行から文字列を削除したいと思います。 remove_text=' hi';

文書:

kjdkjdkjddkjd
djdk hi sjjsj
jfjf sisj hi
jdkjdk dkjdkdjd hi
hi sksk

hiN(この場合は2行から削除したいと思います。

文書:

kjdkjdkjddkjd
djdk sjjsj
jfjf sisj hi
jdkjdk dkjdkdjd hi
hi sksk

ベストアンサー1

とても簡単ですsed

sed '2s/hi//' filename

ここで、2ssubs on line 2hi最初のスラッシュペアのパターン)は置き換えられるパターンであり、2番目のスラッシュペアの間にパターンは削除されません。

このコマンドは変数にも機能しますが、次のように単一引用符ではなく二重引用符でコマンドを囲む必要があります。

remove_text=' hi'
sed "2s/${remove_text}//" filename

変数から行番号を選択したい場合でもこれを行うことができます。

ln=2
remove_text=' hi'
sed "${ln}s/${remove_text}//" filename

-iwith オプションを使用すると、sedファイルは所定の位置で置き換えまたは更新されます。

おすすめ記事