“Menggunakan SED untuk menemukan dan mengganti string kompleks (lebih disukai dengan regex)” Kode Jawaban

Menggunakan SED untuk menemukan dan mengganti string kompleks (lebih disukai dengan regex)

sed -i -E "s/(<username>.+)name(.+<\/username>)/\1something\2/" file.xml
DreamCoder

Menggunakan SED untuk menemukan dan mengganti string kompleks (lebih disukai dengan regex)

sed -e '/username/s/CDATA\[name\]/CDATA\[something\]/' \
-e '/password/s/CDATA\[password\]/CDATA\[somethingelse\]/' \
-e '/dbname/s/CDATA\[name\]/CDATA\[somethingdifferent\]/' file.txt
DreamCoder

Menggunakan SED untuk menemukan dan mengganti string kompleks (lebih disukai dengan regex)

$ sed -e '1s/name/something/2' \
      -e '3s/name/somethingdifferent/2' \
      -e 's/password/somethingelse/2' sample.xml
DreamCoder

Menggunakan SED untuk menemukan dan mengganti string kompleks (lebih disukai dengan regex)

sed -i -E "s/(<username>.+)name(.+<\/username>)/\1something\2/" file.xml
This is, I think, what you're looking for.

Explanation:

parentheses in the first part define groups (strings in fact) that can be reused in the second part
\1, \2, etc. in the second part are references to the i-th group captured in the first part (the numbering starts with 1)
-E enables extended regular expressions (needed for + and grouping).
-i enables "in-place" file edit mode
DreamCoder

Jawaban yang mirip dengan “Menggunakan SED untuk menemukan dan mengganti string kompleks (lebih disukai dengan regex)”

Pertanyaan yang mirip dengan “Menggunakan SED untuk menemukan dan mengganti string kompleks (lebih disukai dengan regex)”

Lebih banyak jawaban terkait untuk “Menggunakan SED untuk menemukan dan mengganti string kompleks (lebih disukai dengan regex)” di Shell/Bash

Jelajahi jawaban kode populer menurut bahasa

Jelajahi bahasa kode lainnya