Puncte:0

Trebuie să introduc 12 spații. Ar trebui să se potrivească cu un anumit șir, apoi mergeți la rândul următor cu 12 spații

drapel ca

Am un fișier numit space.txt. Fac potrivirea șirului cu ath2. Trebuie să inserez un șir „newdata” după 12 spații. Am încercat comanda de mai jos, care funcționează, dar am folosit manual 12 spații albe. Cum se poate realiza într-un alt mod?

sed -e „/ath2/a\ newdata” space.txt

Am nevoie de astfel de rezultate

unix@BDC8-LX-CVZ52X2:~/12space$ cat space
ath1
ath2
            date noi
ath3
ath4
ath5
David avatar
drapel cn
Sună mult ca o întrebare despre teme.
drapel ca
Este o cerință. Am modificat datele pentru a fi simplu. Folosesc comanda la care funcționează într-un fel, dar nu vreau să merg așa, deoarece nu este standard. Daca ai inteles intrebarea, ma poti ajuta te rog?
pLumo avatar
drapel in
Ce versiune de Ubuntu este?
pLumo avatar
drapel in
Cred că nu ar trebui să încercați să o mențineți prea simplă, deoarece nu vedem cu adevărat beneficiile acesteia. Ar trebui să explicați în întrebare de ce doriți să o faceți, astfel încât să putem da un răspuns corect. De exemplu. puteți crea cu ușurință n spații de ex. cu `printf`, dar pentru exemplul tău ar fi mai complicat decât doar scrierea spațiilor în interiorul `sed`.
Puncte:2
drapel in

Poți să folosești printf pentru a genera spații:

sed -e '/ath2/a\'"$(printf %012s)"'newdata' "space.txt"
Puncte:1
drapel bd

Asta vrei tu:

sed "/ath2/a$(printf '\%12s')newdata".
pLumo avatar
drapel in
nu este practic același cu răspunsul meu?
Wayne Vosberg avatar
drapel bd
Da, cred că ai dat primul post.
drapel ca
@Wayne: Exact. Asta mi-am dorit. Mulțumesc foarte mult. sed "/ath2/a$(printf '\%12s')newdata" spațiul asta mi-a rezolvat problema.
drapel ca
@pLumo: Cerința reală este că trebuie să inserez „SystemCgroup=true” în fișierul toml în timp ce setez cgroupdriver la systemd. Necesită indentare, ar trebui să se potrivească cu șirul „runc.options” și să meargă la rândul următor cu 12 spații. Ce a dat Wayne se potrivește perfect cu cerințele mele. Mulțumesc mult!!
pLumo avatar
drapel in
care este exact același cu răspunsul meu, dar 2 minute mai târziu...

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.