
すべてを交換するために今後次のキーワードコードはうまく機能します。
sed 's/.*keyword/string-to-be-replaced/'
ただし、キーワードの前の n 文字を置き換えるには含むキーワード解決策が見つかりません。誰にもアイデアがありますか?
答え1
あなたに必要なものn
.
指す。
n=[num]
sed "s/.\{$n\}keyword/REPLACE/"
...どこ[num]
これは、正の整数を表すことが有効でなければならないことを意味します。
とは違う点を参考にしてください.*keyword
少なくともいくつかの重要な面では。
.*
以前に登場したすべての文字に適用されます。最後起こったkeyword
パターン空間にsed
あるので複数個ある場合keywords
試合、.*
最後のものを外して食べます。.\{[num]\}keyword
のみ一致最初パターン空間で発見できるパターンの発生です。
.\{[num]\}
〜する必要少なくとも[num]
- 登場するキャラクターの数を数えてみてください今後キーワードは一致を検証しますが、.*
一致することができるkeyword
行の先頭にあっても同じです。一致するので、この動作に近い表現です。に従って
[num]
以前出てきたキャラクターたちkeyword
はい...sed "s/.\{0,$n\}keyword/REPLACE/"