Teksta failu un termināla izvades rediģēšana ir ikdienas darbs tiem, kas administrē Linux mašīnas. Komandrindas utilītas, piemēram, sed, ļauj lietotājam mainīt un mainīt teksta faila saturu tieši no termināļa loga.

Šajā rakstā mēs detalizēti apspriedīsim komandu sed, kā arī dažus būtiskus piemērus, kas parāda sed lietderības spēku Linux.

Kas ir sed komanda?

Komanda sed, kas ir saīsinājums no Straumes redaktors, ir komandrindas rīks, kas ļauj Linux lietotājiem veikt teksta darbības ar failiem un termināļa izvadiem. Izmantojot sed, lietotāji var atrast un aizstāt konkrētus vārdus tekstā, parādīt noteiktu izejas sadaļu un rediģēt teksta failus, tos neatverot.

Trīs pamatdarbības, kuras atbalsta komanda sed, ir:

  1. Ievietošana
  2. Dzēšana
  3. Aizstāšana (atrast un aizstāt)

Pieredzējuši lietotāji var arī ieviest regulāras izteiksmes ar komandu sed, lai efektīvāk rediģētu teksta straumes.

Komandas pamata sintakse ir:

sed [opcijas] [modelis] [filepath]

... kur iespējas ir dažādas komandas funkcijas,

instagram viewer
modeli ir regulārā izteiksme vai skripts, kuru vēlaties saskaņot, un filepath ir ceļš uz teksta failu, kurā ir teksts.

10 Linux sed komandas piemēri

Ja plānojat kļūt par parastu Linux lietotāju, jums var būt noderīgi zināt, kā rediģēt failus, meklēt un aizstāt noteiktus vārdus un filtrēt termināla izvadi. Šajā sadaļā ir iekļauti daži sed komandas piemēri, kas noteikti padarīs jūs par Linux enerģijas lietotāju.

Mēs demonstrācijā izmantosim šādu teksta failu.

Šis ir demonstrācijas teksta fails.
Tas ir pārsteidzošs fails, kas mums visiem palīdzēs.
Komanda sed ir lieliski piemērota arī straumes rediģēšanai.
Vai vēlaties uzzināt, kā izmantot komandu?
Šī ir vēl viena faila rindiņa.
Šī ir trešā vispārīgā faila rinda.
Šis fails ir nosaukts kā textfile.
Tas ir ābols.
Tas ir oranžs.

1. Skatīt līniju diapazonu

Linux komandas, piemēram, galva un aste, izvada teksta faila pirmās vai pēdējās desmit rindas. Bet ko tad, ja vēlaties iegūt saturu failā starp divām noteiktām rindām? Šādās situācijās sed komanda var būt noderīga.

Lai izvada saturu starp faila 3. un 5. rindiņu textfile.txt:

sed -n '3,5p' textfile.txt

The -n karodziņš neļauj sed attēlot raksta atstarpi katra cikla beigās. Varat arī izmantot - kluss un - klusa opcijas, nevis -n. The lpp arguments aizstāv izdrukāt un tiek izmantots, lai parādītu lietotājam saskaņotās līnijas.

Izpildot iepriekšminēto komandu faila paraugā, tiek iegūta šāda izeja.

Komanda sed ir lieliski piemērota arī straumes rediģēšanai.
Vai vēlaties uzzināt, kā izmantot komandu?
Šī ir vēl viena faila rindiņa.

Lai izvadītu visu faila saturu, izņemot norādīto diapazonu, izmantojiet d karodziņa vietā lpp komandā:

sed '3,5d' textfile.txt

The d karodziņš izdzēš atbilstošās virknes no izvades un parāda pārējo saturu.

Šis ir demonstrācijas teksta fails.
Tas ir pārsteidzošs fails, kas mums visiem palīdzēs.
Šī ir trešā vispārīgā faila rinda.
Šis fails ir nosaukts kā textfile.
Tas ir ābols.
Tas ir oranžs.

2. Parādīt nesekojošas līnijas

Lai drukātu secīgas rindas starp vairākiem faila diapazoniem:

sed -n -e '1,2p' -e '5,6p' textfile.txt

Izeja:

Šis ir demonstrācijas teksta fails.
Tas ir pārsteidzošs fails, kas mums visiem palīdzēs.
Šī ir vēl viena faila rindiņa.
Šī ir trešā vispārīgā faila rinda.

The -e karogs palīdz izpildīšana vairākas darbības, izmantojot vienu komandu.

3. Ievietojiet atstarpi starp līnijām

Ja kāda iemesla dēļ vēlaties ievietot tukšas rindas starp katru teksta faila rindu, izmantojiet G arguments ar noklusējuma komandu sed.

sed G textfile.txt

Lai izvadā ievietotu vairākas tukšas rindas, nododiet vairākas G argumenti, kurus atdala pusstūris (;) raksturs.

sed 'G; G 'textfile.txt

4. Teksta failā aizstājiet vārdu

Ja vēlaties aizstāt katru konkrēta vārda gadījumu ar kādu citu vārdu, izmantojiet s un g argumenti ar komandu. Pamata sintakse vārdu aizstāšanai, izmantojot komandu sed, ir šāda:

sed s / oriģinālvārds / aizstājvārds / g faila nosaukums

Izmantojot iepriekš minēto sintaksi, jūs varat aizstāt vārdu pārsteidzošs ar super failā textfile.txt:

sed s / pārsteidzošs / super / g textfile.txt

The s arguments apzīmē aizstāšana un g komandu izmanto, lai saskaņoto saturu aizstātu ar norādīto aizstājošo saturu.

Lai aizstātu otro vārda sastopamību ar sed, pārsūtiet skaitli g arguments. Šajā gadījumā:

sed s / amazing / super / g2 textfile.txt

Ja vēlaties ignorēt rakstzīmju gadījumus, aizstājot vārdus, izmantojiet gi tā vietā g, kur i apzīmē ignorēt gadījumā.

sed s / Amazing / super / gi textfile.txt

Saistīts: Izmantojot Vi? Lūk, kā atvērt failu, pēc tam saglabājiet un aizveriet

5. Aizstāt vārdus diapazonā

Jūs varat arī aizstāt vārdus noteiktā diapazonā.

sed '2,5s / amazing / super / g' textfile.txt

6. Veiciet vairākus aizstājējus uzreiz

Ja vēlaties veikt divas vai vairākas aizstāšanas vienlaikus, vienkārši atdaliet komandas ar pusstūris (;) raksturs.

sed 's / pārsteidzošs / super / g; s / komanda / lietderība / gi 'textfile.txt

Sistēma parādīs šādu izvadi.

Šis ir demonstrācijas teksta fails.
Tas ir super fails, kas mums visiem palīdzēs.
Sed lietderība ir lieliska arī straumes rediģēšanai.
Vai vēlaties uzzināt, kā izmantot utilītu?
Šī ir vēl viena faila rindiņa.
Šī ir trešā vispārīgā faila rinda.
Šis fails ir nosaukts kā textfile.
Tas ir ābols.
Tas ir oranžs.

7. Nomainiet vārdus tikai tad, ja ir atrasta atbilstība

Komandu sed varat izmantot arī vārda aizstāšanai tikai tad, ja rindā ir atrasta dota atbilstība. Piemēram, lai aizstātu vārdu a ar an ja vārds apelsīns ir rindā:

sed -e '/ orange / s / a / an / g' textfile.txt

Izdodot iepriekš minēto komandu, tiks izvadīts:

Šis ir demonstrācijas teksta fails.
Tas ir super fails, kas mums visiem palīdzēs.
Sed lietderība ir lieliska arī straumes rediģēšanai.
Vai vēlaties uzzināt, kā izmantot utilītu?
Šī ir vēl viena faila rindiņa.
Šī ir trešā vispārīgā faila rinda.
Šis fails ir nosaukts kā textfile.
Tas ir ābols.
Tas ir oranžs.

Ņemiet vērā, ka vārds rindā Tas ir ābols netika aizstāts, jo sistēma neatrada vārdu apelsīns tajā.

8. Aizstāt vārdus, izmantojot regulāras izteiksmes

Tiem, kas zina, kā izmantot regulāras izteiksmes, operāciju veikšana ar virknēm, izmantojot komandu sed, kļūst daudz vienkāršāka. Lai uzlabotu komandas spēku, varat ieviest regulāras izteiksmes.

Lai aizstātu visus vārda gadījumus Pārsteidzoši vai pārsteidzošs ar super:

sed -e 's / [Aa] mazing / super / g' textfile.txt

Līdzīgi varat izmantot arī uzlabotas regulārās izteiksmes, lai veiktu noteiktas darbības, izmantojot komandu sed.

9. Pipe sed ar citām komandām

Jūs varat ķēdēt sed arī ar citām Linux komandām. Piemēram, jūs varat caurulīt lspci komandu ar sed, lai izvades rindās pievienotu tukšas atstarpes.

lspci | sed G

Lai aizstātu konkrētus vārdus ip maršruta šovs komanda:

ip maršruta šovs | sed s / src / avots / g

Iepriekš minētā komanda aizstāj vārdu avots sākotnējā vārda vietā src.

Saistīts: Kā izmantot komandu Find, lai meklētu failus Linux

10. Rediģēt un dublēt sākotnējo failu

Strādājot ar sistēmas failiem, ir svarīgi dublēt sākotnējo failu, veicot izmaiņas. Tas jums palīdzēs mainīt izmaiņas gadījumā, ja kaut kas saplīsīs.

Lai dublētu oriģinālo failu, izmantojot sed, izmantojiet -i karodziņš komandā.

sed -i'.backup '' s / amazing / super / g 'textfile.txt

Tiks izveidots jauns fails ar nosaukumu textfile.txt.backup. Izmantojot failu, varat pārbaudīt, vai abi faili atšķiras dif komandu.

diff textfile.txt textfile.txt.backup

Rediģēt virknes Linux ar sed

Dažreiz, kamēr jūs strādājat ar teksta failiem terminālā, izejas formatēšana un rediģēšana labākai lasāmībai kļūst par obligātu. Sed un awk ir komandrindas utilītas Linux, kas ļauj lietotājam efektīvi strādāt ar teksta failiem, sadalot datus atsevišķās rindās.

Daudziem lietotājiem ir grūti iegaumēt komandas sed argumentus un karodziņus, jo ir daudz no tiem, kurus var izmantot. Zināšanas par to, kā iegūt komandrindas rokasgrāmatas jebkurai Linux komandai, palīdzēs jums viegli izkļūt no šādām situācijām.

E-pasts
7 veidi, kā iegūt komandrindas palīdzību operētājsistēmā Linux

Visas nepieciešamās komandas, lai uzzinātu par Linux komandām no komandrindas

Lasiet Tālāk

Saistītās tēmas
  • Linux
  • Teksta redaktors
  • Termināls
  • Komandu uzvedne
Par autoru
Deepesh Sharma (Publicēti 36 raksti)

Deepesh ir MUO Linux jaunākais redaktors. Viņš ir rakstījis informatīvo saturu internetā vairāk nekā 3 gadus. Brīvajā laikā viņam patīk rakstīt, klausīties mūziku un spēlēt ģitāru.

Vairāk no Deepesh Sharma

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam par tehniskiem padomiem, atsauksmēm, bezmaksas e-grāmatām un ekskluzīviem piedāvājumiem!

Vēl viens solis !!!

Lūdzu, apstipriniet savu e-pasta adresi e-pastā, kuru tikko nosūtījām.

.