Każdy znak lub ciąg można wymienić za pomocą polecenia „SED”. Czasami musimy zastąpić nową postać (\ n) w pliku przecinkiem. W tym artykule używamy polecenia „sed”, aby zastąpić \ n przecinkiem.
Używając „sed” do zastąpienia \ n przecinkiem
Podczas wymiany \ n przecinkiem może wystąpić wiele problemów. Domyślnie każda linia kończy się \ n podczas tworzenia pliku. Polecenie „SED” może łatwo podzielić na \ n i zastąpić nową linię dowolną postacią. Kolejnego ogranicznika można użyć zamiast \ n, ale tylko wtedy, gdy używa się gnU sed. Gdy \ n brakuje w ostatnim wierszu pliku, GNU sed może uniknąć drukowania \ n. Ponadto \ n jest zwykle dodawane do każdego kolejnego wyjścia „sed”.
Utwórz plik
W tym artykule pokażemy, jak użyć polecenia „sed”, aby zastąpić \ n przecinkiem. Aby śledzić ten samouczek, utwórz plik tekstowy o nazwie Klienci.tekst z następującymi informacjami o kliencie tabelarycznym.
ID | Nazwa | Telefon | |
---|---|---|---|
C01 | MD. Rakib | [email protected] | 01856233238 |
C02 | Meher Afroze | [email protected] | 01733536342 |
C03 | Fakrul Ahsan | [email protected] | 01934737248 |
C04 | Helal Uddin | [email protected] | 01534895898 |
C05 | Nusrat Jahan | [email protected] | 01866345254 |
Przykład 1: Zastąp \ n przecinkiem za pomocą -Z
Opcja -Z służy do konwersji \ n na znak zerowy (\ 0). Zawartość pliku jest traktowana jako pojedynczy wiersz, jeśli nie zawiera żadnych zerowych znaków. Polecenie „SED” przekonwertuje nową linię na znak zerowy i zastąpi każdą \ n przecinkiem za pomocą pierwszego wyszukiwania i wymiany wzoru. Tutaj „g” służy do globalnego wyszukiwania \ n. Z drugim wzorem wyszukiwania i wymiany ostatnia przecinek zostanie zastąpiona \ n.
Klienci $ CAT.tekst
$ sed -z 's/\ n/,/g; s/, $/\ n/' klienci.tekst
Następujące dane wyjściowe zostaną wyprodukowane po uruchomieniu poleceń.
Przykład 2: Zastąp \ n przecinkiem za pomocą A, B, $! oraz n
Polecenie „sed” można użyć do zastąpienia \ n przecinkiem za pomocą użycia A, B, N i $!. Tutaj, A służy do dołączania zadań, B służy do rozgałęzienia treści, N służy do przejścia do następnej linii i $! służy do zapobiegania zastosowaniu zadania wymiany do ostatniego wiersza. Polecenie zastąpi każdy \N z przecinkiem oprócz ostatniej linii.
Klienci $ CAT.tekst
$ sed ': a; n; $!BA; s/\ n/,/g 'klienci.tekst
Następujące dane wyjściowe zostaną wyprodukowane po uruchomieniu poleceń.
Przykład 3: Zamień \ n przecinkiem za pomocą H, H, D, X i Y
Jeśli chcesz wymienić \N) Z przecinkiem w małym pliku można użyć następującego polecenia „sed”. Tutaj, H służy do dołączenia ostatniego wiersza do tekstu trzymającego, 1h służy do kopiowania każdego wiersza pliku do tekstu trzymającego z pierwszego wiersza, $!D służy do usuwania wszystkich linii oprócz ostatniej linii, X służy do wymiany przestrzeni tekstowej i wzoru, oraz y służy do wymiany każdego \N w tekście trzymającym z przecinkiem.
Klienci $ CAT.tekst
$ sed 'h; 1h; $!d; x; y/\ n/,/'klienci.tekst
Następujące dane wyjściowe zostaną wyprodukowane po uruchomieniu poleceń.
Przykład 4: Zastąp \ n przecinkiem za pomocą -N, H, H, G i P
Polecenie „sed” można użyć do wymiany \N z przecinkiem z -N opcja, która zapobiega automatycznym drukowaniu. Jak w poprzednim przykładzie, H jest używany tutaj do dołączenia ostatniego wiersza do tekstu trzymającego, 1h służy do kopiowania każdego wiersza pliku do tekstu trzymającego, $ odnosi się do ostatniego wiersza pliku, G służy do kopiowania z tekstu trzymającego i P służy do drukowania.
Klienci $ CAT.tekst
$ sed -n "h; 1h; \ $ g; s/\ n/,/g; p".tekst
Następujące dane wyjściowe zostaną wyprodukowane po uruchomieniu powyższych poleceń.
Przykład 5: Zastąp \ n przecinkiem za pomocą H, X, P
H, X i P zostały wyjaśnione w poprzednich przykładach. Pierwsze wyszukiwanie i ekspresja zastąpiają każdy \N z przecinkiem, a drugie wyszukiwanie i ekspresja wymiany zastąpi przecinek na początku linii przestrzenią.
Klienci $ CAT.tekst
$ sed -n 'h; $ x; s/\ n/,/g; s/^, //; p;' klienci.tekst
Następujące dane wyjściowe zostaną wyprodukowane po uruchomieniu powyższych poleceń.
Przykład 6: Zamień \ n przecinkiem za pomocą N i „Cat”
Polecenie „CAT” jest używane tutaj do wysyłania zawartości pliku do polecenia „SED” i N służy do przejścia do następnej linii.
Klienci $ CAT.tekst
Klienci $ CAT.txt | sed 'n; s/\ n/,/'
Następujące dane wyjściowe zostaną wyprodukowane po uruchomieniu powyższych poleceń.
Wniosek
Może być konieczne zastąpienie \ n przecinkiem w celu przesyłania danych z jednego formatu pliku do drugiego. Ten typ wymiany można również wykonać za pomocą innych poleceń Linux. Wiele opcji poleceń, takich jak H, N, H i X, można użyć z poleceniem „SED”, aby wykonać to zadanie. Ten samouczek przechodzi kilka sposobów użycia polecenia „sed”, aby zastąpić \ n przecinkiem.