sed

Kā aizstāt Newline ar komatu, izmantojot komandu “sed”

Kā aizstāt Newline ar komatu, izmantojot komandu “sed”

Jebkuru rakstzīmi vai virkni var aizstāt, izmantojot komandu “sed”. Dažreiz failā jaunās rindiņas raksturs (\ n) ir jāaizstāj ar komatu. Šajā rakstā mēs izmantojam komandu “sed”, lai aizstātu \ n ar komatu.

Izmantojot “sed”, aizstājiet \ n ar komatu

Aizstājot \ n ar komatu, var rasties daudz problēmu. Pēc noklusējuma, izveidojot failu, katra rindiņa beidzas ar \ n. Komandu “sed” var viegli sadalīt \ n un aizstāt jauno līniju ar jebkuru rakstzīmi. \ N vietā var izmantot citu atdalītāju, bet tikai tad, ja tiek izmantots GNU sed. Ja faila pēdējā rindiņā trūkst \ n, GNU sed var izvairīties no drukāšanas \ n. Turklāt \ n parasti tiek pievienots katrai secīgai “sed” izejai.

Izveidojiet failu

Šajā rakstā mēs parādīsim, kā izmantot komandu “sed”, lai aizstātu \ n ar komatu. Lai sekotu līdzi šai apmācībai, izveidojiet teksta failu ar nosaukumu Klienti.txt ar šādu tabulas informāciju par klientu.

ID Nosaukums E-pasts Tālrunis
c01 Md. Rakib [e-pasts aizsargāts] 01856233238
c02 Mehers Afroze [e-pasts aizsargāts] 01733536342
c03 Fakruls Ahsans [e-pasts aizsargāts] 01934737248
c04 Helāls Uddins [e-pasts aizsargāts] 01534895898
c05 Nusrats Džahans [e-pasts aizsargāts] 01866345254

1. piemērs: aizstājiet \ n ar komatu, izmantojot -z

Opciju -z izmanto, lai pārveidotu \ n par nulles rakstzīmi (\ 0). Faila saturs tiek uzskatīts par vienu rindu, ja tajā nav nevienas rakstzīmes. Komanda 'sed' pārveidos jauno līniju par nulles rakstzīmi un aizstās katru \ n ar komatu, izmantojot pirmo meklēšanas un aizstāšanas modeli. Šeit 'g' tiek izmantots, lai globāli meklētu \ n. Ar otro meklēšanas un aizstāšanas modeli pēdējais komats tiks aizstāts ar \ n.

$ kaķu klienti.txt
$ sed -z 's / \ n /, / g; s /, $ / \ n /' klienti.txt

Pēc komandu palaišanas tiks izveidota šāda izeja.

2. piemērs: aizstājiet \ n ar komatu, izmantojot a, b, $! un N

Ar komandu “sed” var aizstāt \ n ar komatu, izmantojot a, b, N un $!. Šeit, a tiek izmantots uzdevumu pievienošanai, b tiek izmantots, lai sazarotu saturu, N tiek izmantots, lai pārietu uz nākamo rindu, un $! tiek izmantots, lai aizvietošanas uzdevums netiktu piemērots pēdējai rindai. Komanda aizstās katru \ n ar komatu, izņemot pēdējo rindiņu.

$ kaķu klienti.txt
$ sed ': a; N; $!ba; s / \ n /, / g 'klienti.txt

Pēc komandu palaišanas tiks izveidota šāda izeja.

3. piemērs: aizstājiet \ n ar komatu, izmantojot H, h, d, x un y

Ja vēlaties nomainīt \ n) ar komatu nelielā failā, var izmantot šādu komandu “sed”. Šeit, H tiek izmantots pēdējās rindas pievienošanai turēšanas tekstam, 1h tiek izmantots, lai visas faila rindas kopētu turēšanas tekstā no pirmās rindas, $!d tiek izmantots, lai izdzēstu visas rindas, izņemot pēdējo, x tiek izmantots, lai apmainītos ar teksta un raksta atstarpi, un y tiek izmantots, lai aizstātu katru \ n turēšanas tekstā ar komatu.

$ kaķu klienti.txt
$ sed 'H; 1h; $!d; x; y / \ n /, / 'Klienti.txt

Pēc komandu palaišanas tiks izveidota šāda izeja.

4. piemērs: aizstājiet \ n ar komatu, izmantojot -n, H, h, g un p

Lai aizstātu, var izmantot komandu “sed” \ n ar komatu ar -n opcija, kas novērš automātisku drukāšanu. Tāpat kā iepriekšējā piemērā, H šeit tiek izmantots pēdējās rindas pievienošanai turēšanas tekstam, 1h tiek izmantots, lai kopētu visas faila rindas uz turēšanas tekstu, $ attiecas uz faila pēdējo rindiņu, g tiek izmantots, lai kopētu no turēšanas teksta, un lpp tiek izmantots drukāšanai.

$ kaķu klienti.txt
$ sed -n "H; 1h; \ $ g; s / \ n /, / g; p" klienti.txt

Pēc iepriekš minēto komandu izpildīšanas tiks izveidota šāda izeja.

5. piemērs: aizstājiet \ n ar komatu, izmantojot H, x, p

H, x un p ir izskaidroti iepriekšējos piemēros. Pirmā meklēšanas un aizstāšanas izteiksme aizstās katru \ n ar komatu, un otrā meklēšanas un aizstāšanas izteiksme aizstās komatu rindas sākumā ar atstarpi.

$ kaķu klienti.txt
$ sed -n 'H; $ x; s / \ n /, / g; s / ^, //; p;' klienti.txt

Pēc iepriekš minēto komandu izpildīšanas tiks izveidota šāda izeja.

6. piemērs: aizstājiet \ n ar komatu, izmantojot N un “cat”

Komanda 'cat' šeit tiek izmantota faila satura nosūtīšanai komandai 'sed' un N tiek izmantots, lai pārietu uz nākamo rindu.

$ kaķu klienti.txt
$ kaķu klienti.txt | sed 'N; s / \ n /, /'

Pēc iepriekš minēto komandu izpildīšanas tiks izveidota šāda izeja.

Secinājums

Lai pārsūtītu datus no viena faila formāta uz citu, var būt nepieciešams aizstāt \ n ar komatu. Šāda veida nomaiņu var veikt arī, izmantojot citas Linux komandas. Lai izpildītu šo uzdevumu, kopā ar komandu “sed” var izmantot daudzas komandu opcijas, piemēram, H, N, h un x. Šajā apmācībā ir aprakstīti vairāki veidi, kā izmantot komandu “sed”, lai aizstātu \ n ar komatu.

Pievienojiet peles žestus operētājsistēmai Windows 10, izmantojot šos bezmaksas rīkus
Pēdējos gados datori un operētājsistēmas ir ievērojami attīstījušās. Bija laiks, kad lietotājiem bija jāizmanto komandas, lai pārvietotos pa failu pār...
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...