--s /
représente le remplacement
--sed / caractère de recherche / caractère de remplacement / '
--Lorsque vous voulez capturer -r
--Lors de l'utilisation de la capture \
sed -r's / search (caractère) / \ 1 / '
\ s
ne peut pas être utilisé[\ t \ n \ v \ f \ r \ x20]
peut être utilisé à la place?
Est-il différent?)
--Lorsque vous faites /.+?"Records": "(. +?)". + /
Pour le texte suivant, en PHP, JS, VSCode, c'est $ 1
pour ʻa @ 163.43.80.45 \ nmx @ 10 \ ntxt .... peut être capturé --
sed -r's /. +? "Enregistrements": "(. +?)". + / \ 1 / 'ʻa @ 163.43.80.45 \ nmx @ 10 \ ntxt ....", " ttl ":" 60 "}," request_id ":" 202010191733159039640087223V "," request ": {" path ":" /v1/domains/example.com/dns "," method ":" GET "," params
Devenir
--Vous devez faire sed -r's /. +?" Records ":" ([^ "] +?)". + / \ 1 / '
pour obtenir le résultat attendu.{"results":{"domainid":6526946,"domainname":"example.com","ns_type":"foobarbaz","records":"a @ 163.43.80.45\nmx @ 10\ntxt ....","ttl":"60"},"request_id":"202010191733159039640087223V","request":{"path":"/v1/domains/example.com/dns","method":"GET","params":[]}}
/ ^ (?: [^] +? +?) {3} ([^] +). + /
Pour le texte suivant, en PHP, JS, VSCode, c'est $ 1
et 1.0
Peut être capturé
--sed -r's / ^ (?: [^] +? +?) {3} ([^] +). + / \ 1 / '
donne l'erreur suivante sed: -e expression # 1, char 33: Expression régulière précédente non valide
--Vous devez utiliser sed -r's / ^ ([^] +? +?) {3} ([^] +). + / \ 2 / '
pour obtenir le résultat attendu.?:
(Je pense que vous ne pouvez pas utiliser de groupe non capturant dans sed)root 51849 0.0 1.0 7488 812 ? Sl Oct16 0:52 docker-containerd-shim
Recommended Posts