sed

Kā ievietot līniju pēc spēles, izmantojot “sed”?

Kā ievietot līniju pēc spēles, izmantojot “sed”?

Viena no noderīgajām un spēcīgajām Linux komandām ir komanda “sed”. Šo komandu izmanto, lai veiktu dažāda veida uzdevumus Linux, piemēram, ievietot, atjaunināt un dzēst noteiktu tekstu vai rindu, pamatojoties uz atbilstību. Tekstu virknē vai failā var ievietot dažādos veidos, izmantojot komandu “sed”.

Kā ievietot līniju pēc atbilstības atrašanas virknē vai rindā, ir parādīts šajā apmācībā.

Ievietojiet rindu virknē

Jauna komanda atbilst jebkurai virknes vērtības daļai, pēc jebkuras virknes vērtības var ievietot jaunu komandu, izmantojot komandu “sed”.

Šis piemērs parāda, kā jaunu virkni var pievienot pēc virknes vērtības, ja kāda virkne pastāv jebkuras virknes vērtībā.

1. piemērs: pēc atbilstības atrašanas ievietojiet rindiņu virknē

Šī komanda virknē meklēs “inng”, “Man patīk programmēt” un teksta rindiņu “Vai jums patīk programmēt?”, Ja meklēšanas virkne pastāv, tā tiks ievietota aiz virknes.

Šeit līnijas ievietošanai aiz virknes tiek izmantots rakstzīme “&”.

$ echo "Man patīk programmēt."| sed 's / inng / & Vai jums patīk programmēt?/ '

Šis izvads parāda, ka virknē nav “inng” un aiz virknes netiek ievietota neviena rinda.


Šī komanda meklēs “ing.”Virknē“ Man patīk programmēt ”, un tas pastāv virknē.

$ echo "Man patīk programmēt."| sed 's./ & Vai jums patīk programmēt?/ '

Šis izvads parāda, ka jaunā virkne tiek pievienota pēc virknes.

Ievietojiet rindiņu failā

Pēc tam, kad zemāk minētajā failā ir atrasta atbilstība, ir divas iespējas ievietot rindu. Ja komandu “sed” izmanto bez opcijas “-i”, faila saturs paliks nemainīgs, un izvade parādīs faila saturu ar ievietoto jauno rindiņu. Jums ir jāizmanto opcija “-i” ar komandu “sed”, lai failā pastāvīgi ievietotu jauno rindu, ja failā ir atbilstošs modelis.

A. Izmantojot komandu “sed”, izmantojiet “a”

“A” var izmantot “sed” meklēšanas modelī, lai pievienotu vienu vai vairākas rindas failā aiz līnijas, kurā atbilst meklēšanas modelis, vai pēc konkrēta rindas numura.

B. “Sed” izmantošana komandā “sed”

“I” var izmantot komandas “sed” meklēšanas modelī, lai failā ievietotu vienu vai vairākas rindas pirms līnijas, kurai atbilst meklēšanas modelis.

Ievietojiet rindu (-as) failā, pamatojoties uz modeli:

Izveidojiet ar tabulēm norobežotu teksta failu ar nosaukumu produktiem.txt ar šādu saturu, lai komandā “sed” parādītu iepriekš minētā karoga lietojumus.

produktiem.txt

ID nosaukums
01 Pātagu krējums
02 kakao pulveris
03 Cukurs
04 Olu
05 Milti

2. piemērs: Ievietojiet līniju aiz noteikta līnijas numura, izmantojot “a”

Šīs komandas parāda, kā var pievienot jaunu rindu pēc noteikta produktu rindas numura.txt fails, pamatojoties uz modeli, kas izmantots komandā “sed”.

Pirmā komanda parādīs faila esošo saturu. Komanda “sed” pēc faila pirmajām divām rindām pievienos tekstu “b01 Cepamais pulveris”. Pēdējā komanda tiek izmantota, lai pārbaudītu, vai faila saturs ir mainīts vai nē.

$ kaķu produkti.txt
$ sed '2 a b01 \ tCepamais pulveris'.txt
$ kaķu produkti.txt

Pēc iepriekš minētās komandas palaišanas parādīsies šāda izeja.

3. piemērs: ievietojiet līniju aiz pēdējās rindas, izmantojot “a”

Šī komanda parāda veidu, kā pievienot jaunu rindu aiz faila pēdējās rindas. Pirmā un pēdējā komanda parāda faila esošo saturu pirms un pēc komandas “sed” izpildes. Simbols “$” tiek izmantots komandas “sed” zīmējumā, lai pieminētu faila pēdējo rindu.

$ kaķu produkti.txt
$ sed '$ a b01 \ tCepamais pulveris'.txt
$ kaķu produkti.txt

Pēc iepriekš minētās komandas palaišanas parādīsies šāda izeja.

4. piemērs: pēc parauga saskaņošanas, izmantojot “a”, ievietojiet līniju jebkurā faila vietā

Šī komanda “sed” parāda, kā jaunu līniju var pievienot jebkur failā, pamatojoties uz atbilstības modeli. Komandā “sed” izmantotais modelis meklēs jebkuru rindu, kas sākas ar “s01”, un pēc tās pievienos jauno virkni. Faila ceturtā rinda sākas ar “s01”, un jaunā rinda tiks ievietota aiz šīs rindas.

$ kaķu produkti.txt
$ sed '/ ^ s01.* / a b01 \ tCepšanas pulvera produkti.txt
$ kaķu produkti.txt

Pēc komandas palaišanas parādīsies šāda izeja.


Sekojošā komanda “sed” meklēs jebkuru rindu, kas beidzas ar “Pulveris”, un pēc tās ievietos jauno rindu. Trešā faila rindiņa beidzas ar “Pulveris”. Tātad jaunā rinda tiks ievietota pēc šīs rindas.

$ kaķu produkti.txt
$ sed '/ pulveris $ / a b01 \ tCepšanas pulveris' produkti.txt
$ kaķu produkti.txt

Pēc iepriekš minēto komandu izpildīšanas parādīsies šāda izeja.

5. piemērs: ievietojiet vairākas līnijas aiz atbilstošā raksta, izmantojot “a”

Šī komanda “sed” parāda veidu, kā pievienot vairākas rindas faila saturā, pamatojoties uz atbilstības modeli.

Šeit pēc trešās līnijas tiks pievienotas divas līnijas atbilstoši paraugam.

$ kaķu produkti.txt
$ sed '/ ^ [a-c] / a b01 \ tCepamais pulveris \ nb02 \ tCepamās soda produkti.txt
$ kaķu produkti.txt

Pēc iepriekš minēto komandu izpildīšanas parādīsies šāda izeja.

6. piemērs: Ievietojiet līniju pēc modeļa atbilstības, izmantojot “I”

$ kaķu produkti.txt
$ sed '/ cream / i b01 \ tCepšanas pulvera' produkti.txt
$ kaķu produkti.txt

Pēc iepriekš minēto komandu izpildīšanas parādīsies šāda izeja.

7. piemērs: pēc atbilstības modeļa ievietojiet līniju pastāvīgi, izmantojot opciju “-i”

Šī komanda “sed” parāda, kā pastāvīgi mainīt faila saturu. Opciju “i” izmanto kopā ar komandu “sed”, lai failā ievietotu jaunu rindu, pamatojoties uz modeli.

$ kaķu produkti.txt
$ sed -i '/ e $ / a g01 \ tGhee' produkti.txt
$ kaķu produkti.txt

Pēc iepriekš minēto komandu izpildīšanas parādīsies šāda izeja.

Secinājums:

Šajā apmācībā ir parādīti veidi, kā ievietot failā divas vai vairākas rindas, izmantojot komandu “sed” ar rakstu, lai lasītājs varētu izmantot šo komandu, lai īslaicīgi vai pastāvīgi ievietotu rindas, pamatojoties uz modeli.

Kontrolējiet un pārvaldiet peles kustību starp vairākiem monitoriem sistēmā Windows 10
Dual Display Mouse Manager ļauj kontrolēt un konfigurēt peles kustību starp vairākiem monitoriem, palēninot tās kustību robežas tuvumā. Windows 10/8 ļ...
WinMouse ļauj jums pielāgot un uzlabot peles rādītāja kustību Windows datorā
Ja vēlaties uzlabot peles rādītāja noklusējuma funkcijas, izmantojiet bezmaksas programmatūru WinMouse. Tas pievieno vairāk funkciju, kas palīdzēs jum...
Peles kreisā klikšķa poga nedarbojas operētājsistēmā Windows 10
Ja ar klēpjdatoru vai galddatoru izmantojat īpašu peli, bet nedarbojas peles kreisās klikšķa poga kādu iemeslu dēļ operētājsistēmā Windows 10/8/7 šeit...