GNU/Linux >> Znalost Linux >  >> Linux

Jak přidat text na začátek souboru v Linuxu

Uživatelé příkazového řádku Linuxu znají koncept operátorů přesměrování, které mohou zapisovat výstup do souboru nebo číst vstup ze souboru.

Operátor '>' zapíše výstup do nového souboru nebo do existujícího souboru; v takovém případě smaže vše, co je dříve v souboru přítomno. Operátor '>>' na druhou stranu připojí výstup na konec existujícího souboru. Neexistuje však žádný vyhrazený operátor pro zápis nového textu na začátek souboru.

Dnes uvidíme dva způsoby, jak přidat text na začátek souboru v Linuxu:jeden s náhradním řešením a jeden s příkazem.

Poznámka :Je dobrý přístup nejprve zálohovat původní soubor a poté k původnímu souboru připojit nový text. Tímto způsobem, pokud při používání příkazů dojde k nějaké chybě, můžeme vždy obnovit záložní soubor. Např. Můžete jednoduše zkopírovat soubor s názvem „file1 “ do jiného souboru s názvem „file1_bkp “ a poté připojte text k originálu, tj. „soubor1 '.

Přidat text na začátek souboru pomocí příkazů echo a cat

Jak možná víte, příkaz echo vypíše vše, co je předáno jako argument do výstupu, zatímco příkaz cat vytiskne obsah souboru na výstup.

Můžeme tak předat nový text k přidání do echa , předejte soubor kočce, zkombinujte a zapište výstup do souboru. To lze provést následovně:

$ x=`echo "New Text"; cat filename`
$ echo "$x" > filename

V zásadě kombinujeme nový text a stávající obsah souboru a ukládáme nový obsah do proměnné. Pak jednoduše vypíšeme proměnnou a přesměrujeme ji do stejného souboru.

$ cat samplefile.txt
$ x=`echo "Name: John"; cat samplefile.txt`
$ cat samplefile.txt

Jak můžete vidět výše, nový text byl přidán na nový řádek na začátek souboru. Chcete-li přidat text na začátek existujícího prvního řádku, použijte -n argument echa.

$ x=`echo -n "New Text"; cat filename`
$ echo "$x" > filename
Všimněte si, že ačkoli Bash nebo mnoho dalších shellů nemá omezení velikosti proměnné, nicméně velikost může být omezena na základě prostředí a konfigurace systému. Může tedy nastat situace, kdy „samplefile.txt “ je soubor obsahující obrovské množství dat a proměnná je nedokáže všechna uložit.

Přidat text do prvního řádku souboru pomocí příkazu sed

sed (zkratka pro „Editor streamu ‘) je editor příkazového řádku v Linuxu, který se používá k provádění operací, jako je psaní textu do souboru, hledání a nahrazování atd.

sed je komplexní příkaz se spoustou možností pro úpravu souborů různými způsoby. K přidání textu na začátek souboru použijeme konkrétní funkce sed.

Pro vložení textu na nový řádek na začátek spusťte následující.

$ sed -i '1i New Text' filename

-i argument říká sed k úpravě samotného souboru. Bez něj sed automaticky vytvoří kopii souboru a provede všechny úpravy na kopii.

Řetězec ‘1i Nový text‘ znamená:‘vložit’ řetězec ‘Nový text’ dne ‚1.‘ řádek.

$ cat samplefile.txt
$ sed -i '1i Introduction' samplefile.txt
$ $ cat samplefile.txt

Opět se jedná o přidání nového obsahu na nový řádek na začátku. Chcete-li přidat nový text na existující řádek, spusťte:

$ sed -i '1s/^/New Text/' filename

V podstatě exponent (‘^’) znamená nulový řetězec. '1' na začátku znamená, že sed by měl vzít v úvahu řetězec null na začátku řádku 1 a 's' je sed příkaz k nahrazení řetězce. Zde je prázdný řetězec nahrazen výrazem „Nový text ‘.

$ cat samplefile.txt
$ sed -i '1s/^/Person/' samplefile.txt
$ cat samplefile.txt
Závěr

Naučili jsme se dva jednoduché, ale chytlavé způsoby, jak přidat nový text na začátek souboru v Linuxu. Samozřejmě, zřejmý způsob, jak toho dosáhnout, pokud to má být provedeno ručně, je upravit soubor pomocí editoru souborů. Ve skriptu však lze použít metody popsané zde.

Děkujeme za přečtení a dejte nám vědět své myšlenky v komentářích níže!


Linux
  1. Jak přidat text na konec souboru v Linuxu

  2. Jak používat příkaz Tar v Linuxu

  3. Jak přidat nový řádek na konec souboru?

  1. Jak přidat záhlaví a řádek upoutávky do souboru v Linuxu

  2. Jak mohu přidat řetězec na začátek každého souboru ve složce v bash?

  3. Jak vložit text na začátek souboru?

  1. Jak přidat čísla řádků do textových souborů v systému Linux

  2. Jak přidat soubor .so do java.library.path v Linuxu

  3. Jak získat fyzickou velikost souboru v Linuxu?