GNU/Linux >> Znalost Linux >  >> Linux

Při přidávání textu před nějaký vzor použijte sed s ignorováním velkých a malých písmen

Můžete použít následující:

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

Jinak máte /I a n/i příznaky:

sed 's/first/last/Ig' file

Od muže sed:

i

Modifikátor I pro párování regulárních výrazů je rozšíření GNU, které dělá sed match regulární výraz bez ohledu na velikost písmen.

Test

$ 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

pokud si chcete ušetřit nějaké psaní, zkuste awk. Nemyslím si, že sed tuto možnost má

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

Můžete zkusit

sed 's/first/somethingelse/gI'

GNU sed

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

Linux
  1. Manipulace s textem na příkazovém řádku pomocí sed

  2. Jak vložit text před první řádek souboru?

  3. Jak použít Sed nebo Ex k nahrazení bloku (víceřádkového kódu) novým blokem textu (kódu)?

  1. Nahradit text více souborů textem Sed?

  2. Jak ignorovat některé rozdíly v příkazu diff?

  3. Jak nahradit text podobný sedu pythonem?

  1. Odstraňte výskyty řetězce v textovém souboru

  2. Přidání časového razítka k názvu souboru s mv v BASH

  3. sed s doslovným řetězcem--ne vstupním souborem