Wstaw określony tekst na początku lub na końcu pliku za pomocą sed, wyrażeń regularnych

W niektórych przypadkach musimy wstawić plik finał z pliku tekst, do tego możemy użyć echo:

echo "Texto al final del archivo" >> archivo.txt

Ale co zrobić, jeśli chcę wstawić tekst podczas uruchamiania?

Z sedem i odpowiednimi parametrami możemy to zrobić i nie tylko.

Na przykład, aby wstawić do inicjacja z pliku tekst byłby:

sed -i '1i Aqui texto que ira en la primera linea' archivo.txt

Podczas wstawiania do finał jest:

sed -i '$a Aqui el texto que ira en la ultima linea' archivo.txt

Albo echo życia:

echo "Aqui el texto que ira en la ultima linea" >> archivo.txt

Cóż, nic więcej do dodania, właściwie jest to dość krótki post.

Mam nadzieję, że komuś się przyda, pozdrawiam.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   O_Pixote_O powiedział

    Jeśli to jest krótkie, jeśli xD. Kiedy będę miał więcej czasu, będę musiał dokładniej zbadać polecenie seda, myślę, że przydałoby się to w projekcie.

    1.    KZKG ^ Gaara powiedział

      Możesz zacząć tutaj: https://blog.desdelinux.net/tag/sed

  2.   użyjmy Linuksa powiedział

    ach ... jak spragniony! 🙂
    Kwak!

  3.   44 powiedział

    te sztuczki-wskazówki są najlepsze ... są dokładne i na temat ... publikuj więcej

    1.    KZKG ^ Gaara powiedział

      Dziękuję
      Wciąż mam trochę więcej w zanadrzu, mam nadzieję, że uda mi się je stopniowo wprowadzać.

  4.   Nabuchodonozor powiedział

    Jak zawsze dobra wskazówka.
    Nie pomyślałeś (i to nie jest żart), czy zebrać wszystkie wskazówki i samouczki zarządzania terminalem systemu, który nam udostępniłeś i opracować z nim instrukcję?
    Byłoby bardzo, bardzo mile widziane w społeczności nieprofesjonalnych użytkowników Linuksa, biorąc pod uwagę, że dziewięćdziesiąt procent tutoriali i podręczników na ten temat, nawet na podstawowym poziomie, jest głównie w języku angielskim.
    To znaczy, to dobry pomysł.

    1.    KZKG ^ Gaara powiedział

      To świetny pomysł, problem w tym, że ... nie wiem, nie jestem dobry w samouczkach czy rozbudowanych instrukcjach, ciężko mi je robić 🙁

  5.   Joaquin powiedział

    Dobra wskazówka!

  6.   Mario Guillermo Zavala Silva powiedział

    Bardzo dziękuję za informację ... Pozdrawiamy

  7.   widok powiedział

    Doskonała wskazówka, zostaję przy moim starym echo hahaha

  8.   Ignacio powiedział

    Tetris zaprogramowany poleceniem sed. Niesamowite, prawda!

    http://uuner.doslash.org/forfun/sedtris.sed

  9.   Marioloko powiedział

    Jestem nowy w Linuksie, ale w skryptach często używam polecenia sed, opcja zastąpienia określonej linii jest również dobra:
    sed –in-place "(numer linii) c \ (Tekst, który chcemy zamienić w tym wierszu)"

  10.   Mauritius powiedział

    Dziękujemy !!!!

  11.   Isma powiedział

    Jeśli zamiast zapisywać tekst na końcu pliku, chcemy zapisać wynik polecenia na końcu pliku, jak by to było?

    dzięki

  12.   ac powiedział

    A jeśli chcę dodać polecenie (zamiast prostego tekstu) zawierające if, echo itp. Do pliku lub dodać funkcję lub alias ????????
    dzięki

  13.   przełącznik powiedział

    Za pomocą seda możesz również wstawić jedną lub więcej linii w dowolnym miejscu tekstu, jak widać na poniższym przykładzie:
    $ echo -en "una linea\notra linea"
    una linea
    otra linea

    $ echo -en "una linea\notra linea" | sed '2i Aquí texto que ira en\n medio de las lineas'
    una linea
    Aquí texto que ira en
    medio de las lineas
    otra linea

    1.    Ciąć powiedział

      Potężny \ n 😀

  14.   jhon powiedział

    i czy muszę wstawić cudzysłowy w tym tekście ???