Akýkoľvek znak alebo reťazec je možné nahradiť pomocou príkazu „sed“. Niekedy musíme znak nového riadku (\ n) v súbore nahradiť čiarkou. V tomto článku používame príkaz 'sed' na nahradenie \ n čiarkou.
Pomocou výrazu „sed“ sa \ n nahradí čiarkou
Pri nahradení \ n čiarkou môže nastať veľa problémov. V predvolenom nastavení sa pri vytváraní súboru končí každý riadok \ n. Príkaz 'sed' sa dá ľahko rozdeliť na \ n a nahradiť nový riadok ľubovoľným znakom. Namiesto \ n je možné použiť iný oddeľovač, ale iba ak je použitý GNU sed. Ak v poslednom riadku súboru chýba \ n, GNU sed sa môže vyhnúť tlači \ n. Ďalej sa \ n zvyčajne pridáva ku každému následnému výstupu výrazu 'sed'.
Vytvorte súbor
V tomto článku si ukážeme, ako používať príkaz 'sed' na nahradenie \ n čiarkou. Ak chcete pokračovať v tejto príručke, vytvorte textový súbor s názvom Klienti.TXT s nasledujúcimi tabuľkovými informáciami o klientovi.
ID | názov | Telefón | |
---|---|---|---|
c01 | Md. Rakib | [chránené e-mailom] | 01856233238 |
c02 | Meher Afroze | [chránené e-mailom] | 01733536342 |
c03 | Fakrul Ahsan | [chránené e-mailom] | 01934737248 |
c04 | Helal Uddin | [chránené e-mailom] | 01534895898 |
c05 | Nusrat Jahan | [chránené e-mailom] | 01866345254 |
Príklad 1: Nahraďte \ n čiarkou pomocou -z
Voľba -z sa používa na prevod \ n na nulový znak (\ 0). Obsah súboru sa považuje za jeden riadok, ak neobsahuje žiadne nulové znaky. Príkaz 'sed' prevedie nový riadok na nulový znak a každý \ n nahradí čiarkou pomocou prvého vzoru hľadania a nahradenia. Tu sa písmeno „g“ používa na globálne vyhľadávanie \ n. Pri druhom vzore hľadania a nahradenia bude posledná čiarka nahradená \ n.
$ mačací klienti.TXTKlienti $ sed -z 's / \ n /, / g; s /, $ / \ n /'.TXT
Po vykonaní príkazov sa vytvorí nasledujúci výstup.
Príklad 2: Nahraďte \ n čiarkou pomocou a, b, $! a N
Príkazom 'sed' je možné nahradiť \ n čiarkou pomocou a, b, N a $!. Tu, a sa používa na pridanie úloh, b sa používa na vetvenie obsahu, N sa používa na prechod na ďalší riadok a $! sa používa na zabránenie uplatnenia úlohy nahradenia na posledný riadok. Príkaz nahradí každú \ n s čiarkou okrem posledného riadku.
$ mačací klienti.TXT$ sed ': a; N; $!ba; s / \ n /, / g 'klienti.TXT
Po vykonaní príkazov sa vytvorí nasledujúci výstup.
Príklad 3: Nahraďte \ n čiarkou pomocou znakov H, h, d, x a y
Ak chcete vymeniť \ n) s čiarkou v malom súbore možno použiť nasledujúci príkaz „sed“. Tu, H sa používa na pripojenie posledného riadku k pozdržaciemu textu, 1 h sa použije na kopírovanie každého riadku súboru do pozdržacieho textu z prvého riadku, $!d sa používa na vymazanie všetkých riadkov okrem posledného, X sa používa na výmenu pozdržaného textu a vzorového priestoru a r sa používa na nahradenie každého z nich \ n v pridržanom texte čiarkou.
$ mačací klienti.TXT$ sed 'H; 1 h; $!d; x; y / \ n /, / 'Klienti.TXT
Po vykonaní príkazov sa vytvorí nasledujúci výstup.
Príklad 4: Nahraďte \ n čiarkou pomocou -n, H, h, g a p
Na nahradenie je možné použiť príkaz „sed“ \ n s čiarkou s -n možnosť, ktorá zabráni automatickej tlači. Rovnako ako v predchádzajúcom príklade, H sa tu používa na pripojenie posledného riadku k pozdržaciemu textu, 1h sa používa na kopírovanie každého riadku súboru do zadržaného textu, $ odkazuje na posledný riadok súboru, g sa používa na kopírovanie z pozdržaného textu a p sa používa na tlač.
$ mačací klienti.TXT$ sed -n "H; 1h; \ $ g; s / \ n /, / g; p" klienti.TXT
Po vykonaní vyššie uvedených príkazov sa vytvorí nasledujúci výstup.
Príklad 5: Nahraďte \ n čiarkou pomocou znakov H, x, s
H, x a str boli vysvetlené v predchádzajúcich príkladoch. Prvý výraz vyhľadávania a nahradenia nahradí každý \ n s čiarkou a druhý výraz hľadania a nahradenia nahradí čiarku na začiatku riadku medzerou.
$ mačací klienti.TXT$ sed -n 'H; $ x; s / \ n /, / g; s / ^, //; p;' klienti.TXT
Po vykonaní vyššie uvedených príkazov sa vytvorí nasledujúci výstup.
Príklad 6: Nahraďte \ n čiarkou pomocou N a „mačka“
Príkaz „mačka“ sa tu používa na odoslanie obsahu súboru do príkazu „sed“ a N sa používa na prechod na ďalší riadok.
$ mačací klienti.TXT$ mačací klienti.txt | sed 'N; s / \ n /, /'
Po vykonaní vyššie uvedených príkazov sa vytvorí nasledujúci výstup.
Záver
Na prenos údajov z jedného formátu do druhého môže byť potrebné nahradiť \ n čiarkou. Tento typ výmeny je možné vykonať aj pomocou iných príkazov systému Linux. Na vykonanie tejto úlohy je možné s príkazom 'sed' použiť veľa možností príkazov, napríklad H, N, h a x. Tento výukový program popisuje niekoľko spôsobov, ako pomocou príkazu 'sed' nahradiť \ n čiarkou.