Akýkoľvek znak alebo reťazec je možné nahradiť pomocou príkazu `sed`. Niekedy musíme v súbore nahradiť znak nového riadka ( n) čiarkou. V tomto článku použijeme príkaz `sed 'na nahradenie n čiarkou.
Na nahradenie n čiarkou použite príkaz „sed“
Pri nahradení n čiarkou môže nastať mnoho problémov. Pri vytváraní súboru sa predvolene každý riadok končí 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 vtedy, ak sa používa GNU sed. Ak n chýba v poslednom riadku súboru, GNU sed sa môže vyhnúť tlači n. Ďalej n sa zvyčajne pridáva do každého nasledujúceho výstupu `sed '.
Vytvorte súbor
V tomto článku vám ukážeme, ako použiť príkaz `sed 'na nahradenie n čiarkou. Ak chcete pokračovať v tomto návode, vytvorte textový súbor s názvom Clients.txt s nasledujúcimi tabuľkovými informáciami o klientovi.
ID | názov | E -mail | 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 konverziu n na nulový znak ( 0). Obsah súboru je považovaný za jeden riadok, ak neobsahuje žiadne nulové znaky. Príkaz `sed` prevedie nový riadok na nulový znak a nahradí každé n čiarkou pomocou prvého vzoru hľadania a nahradenia. Tu sa „g“ používa na globálne vyhľadávanie n. Pri druhom vzore vyhľadávania a nahradenia sa posledná čiarka nahradí n.
$katClients.txt
$sed -S 's/ n/,/g; s/, $/ n/'Clients.txt
Po spustení príkazov bude vytvorený nasledujúci výstup.
Príklad 2: Nahraďte n čiarkou pomocou a, b, $! a N.
Príkaz `sed 'je možné použiť na nahradenie n čiarkou pomocou a, b, N a $! . Tu, do slúži na pridávanie úloh, b slúži na vetvenie obsahu, N. sa používa na prechod na nasledujúci riadok, a $! sa používa na zabránenie tomu, aby sa úloha nahradenia použila na posledný riadok. Príkaz nahradí všetky n čiarkou okrem posledného riadka.
$katClients.txt
$sed ': a; N; $! ba; s/ n/,/g'Clients.txt
Po spustení príkazov bude vytvorený nasledujúci výstup.
Príklad 3: Nahraďte n čiarkou pomocou H, h, d, x a y
Ak chcete vymeniť n) čiarkou v malom súbore, potom možno použiť nasledujúci príkaz `sed`. Tu, H sa používa na pripojenie posledného riadka k podržanému textu, 1 h sa použije na skopírovanie každého riadka súboru do podržaného textu z prvého riadka, $! d slúži na vymazanie všetkých riadkov okrem posledného, X sa používa na výmenu medzery medzi textom a vzorom a a sa používa na nahradenie každého n v pozdržanom texte čiarkou.
$katClients.txt$sed 'H; 1h; $! D; x; y/ n/,/'Clients.txt
Po spustení príkazov bude vytvorený 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 čiarkou s -n možnosť, ktorá zabraňuje automatickej tlači. Rovnako ako v predchádzajúcom prípade, H používa sa tu na pripojenie posledného riadka k podržanému textu, 1 hod používa sa na skopírovanie každého riadka súboru do zadržaného textu, $ odkazuje na posledný riadok súboru, g sa používa na kopírovanie z podržaného textu a p slúži na tlač.
$katClients.txt$sed-n'H; 1h; ${g; s / n/,/g; p} 'Clients.txt
Po spustení vyššie uvedených príkazov bude vytvorený nasledujúci výstup.
Príklad 5: Nahraďte n čiarkou pomocou H, x, s
H, x a p boli vysvetlené v predchádzajúcich príkladoch. Prvý výraz vyhľadávania a nahradenia nahradí každý n čiarkou a druhý výraz vyhľadávania a nahradenia nahradí čiarkou na začiatku riadka medzera.
$katClients.txt$sed-n'H; $ {x; s/ n/,/g; s/^, //; p;}'Clients.txt
Po spustení vyššie uvedených príkazov bude vytvorený nasledujúci výstup.
Príklad 6: Nahraďte n čiarkou pomocou N a `cat`
Tu sa príkaz „mačka“ používa na odoslanie obsahu súboru na príkaz „sed“ a N. slúži na prechod na nasledujúci riadok.
$katClients.txt$katClients.txt| sed 'N; s/ n/,/'
Po spustení vyššie uvedených príkazov bude vytvorený nasledujúci výstup.
Záver
Na prenos údajov z jedného formátu súboru do druhého môže byť potrebné nahradiť n čiarkou. Tento typ náhrady je možné vykonať aj pomocou iných príkazov systému Linux. Na vykonanie tejto úlohy je možné použiť mnoho príkazových príkazov, ako napríklad H, N, h a x, pomocou príkazu `sed`. Tento tutoriál sa zaoberá niekoľkými spôsobmi použitia príkazu `sed` na nahradenie n čiarkou.