GNU/Linux >> Linux の 問題 >  >> Linux

パターンの前にテキストを追加する際に、大文字と小文字を区別しないで sed を使用する

以下を使用できます:

sed 's/[Ff][Ii][Rr][Ss][Tt]/last/g' file

そうでなければ、あなたは /I を持っています n/i フラグ:

sed 's/first/last/Ig' file

man sed より:

<ブロック引用>

正規表現一致の I 修飾子は、大文字と小文字を区別しない方法で sed を正規表現に一致させる GNU 拡張です。

テスト

$ cat file
first
FiRst
FIRST
fir3st
$ sed 's/[Ff][Ii][Rr][Ss][Tt]/last/g' file
last
last
last
fir3st
$ sed 's/first/last/Ig' file
last
last
last
fir3st

入力を節約したい場合は、awk を試してください。 sed にそのオプションがあるとは思わない

 awk -v IGNORECASE="1" '/first/{your logic}' file

試すことができます

sed 's/first/somethingelse/gI'

GNU sed

sed '/first/Ii This line to be added' file

Linux
  1. ファイルの最初の行の前にテキストを挿入する方法は?

  2. SedまたはExを使用してブロック(複数行コード)を新しいテキストブロック(コード)に置き換える方法は?

  3. 拡張子の前にファイル名にテキストを追加しますか?

  1. sed を使用して Linux でテキスト ファイルの任意の行の最初の 5 文字を削除する

  2. リテラル文字列で sed -- 入力ファイルではありません

  3. sed を使用して構成ファイルの変数を置き換える方法は?

  1. Sedテキストエディタの使い方を学ぶ

  2. ワイルドカード ファイル パターンを指定した tar -C

  3. sed を使用して特定のパターンを置き換える