GNU/Linux >> Znalost Linux >  >> Linux

Vložte více řádků dat do souboru po shodě vzorů pomocí skriptu prostředí Linux

Máte kus kódu, který je třeba vložit do více souborů? Pak to máte stejně jako já těžké! Pracoval jsem na webu hostovaném v cpanelu, který měl mnoho souborů HTML, do každého z nich bylo nutné vložit vyskakovací kód. Počet HTML souborů byl 425. Dělat to ve Windows byla noční můra. Ale hej, neřekl jsem ti, že jsem našel chytřejší způsob, jak to udělat. Pokladna níže!

Krok 1:Zkopírujte soubory z CPANEL

Zkopírujte všechny soubory z cpanelu do místního systému Windows pomocí WinSCP.

Krok 2:Kopírování souborů z Windows do Linuxu

Poté zkopírujte soubory HTML na server Linux. Pokud nemáte vlastní server, můžete linuxový systém provozovat virtuálně na ploše pomocí virtuálního boxu. Podívejte se, jak nainstalovat virtualbox zde.

Krok 3:Pomocí příkazu ‚sed‘ vložte kód

Použijte níže uvedený příkaz sed pro vložení kódu z jiného souboru. Například:Data, která mají být vložena ze souboru „add.txt“ do „input.txt“. Nyní by příkaz byl:

Input.txt

abcd
efgh
ijkl
mnop
qrst

add.txt

uvwx
yzab
cdef
ghij
klmn
$sed '/ijkl/r add.txt' input.txt

Příkaz přidá obsah z add.txt do input.txt poté, co se vzor „ijkl“ shoduje. Výstup by tedy byl:

abcd
efgh
ijkl
uvwx
yzab
cdef
ghij
klmn
mnop
qrst

Výše uvedený příkaz vypíše obsah na terminál. Chcete-li soubor aktualizovat s obsahem, použijte příkaz „-i“ s příkazem sed, jak je uvedeno níže:

$sed -i '/ijkl/r add.txt' input.txt

Pokud musíte obsah vkládat přímo vstupem a ne ze souboru, můžete použít níže uvedený příkaz:

$sed -i 's/.*ijkl.*/uvwx\n&/' input.txt
abcd
efgh
ijkl
uvwx
mnop
qrst

Krok 4:Spusťte výše uvedený příkaz ve smyčce s počtem souborů

Přejděte do adresáře, kde je třeba upravit soubory. Použijte „for loop“ a vložte data pomocí níže uvedeného příkazu:

for i in *;
do
    $sed '/ijkl/r add.txt' $i
done

Ve výše uvedeném kódu * představuje soubory. Pro každý soubor, jako $i, přidejte obsah ze souboru add.txt po nalezení vzoru „ijkl“.

Krok 5:Zkopírujte zpět soubory z Linuxu do windows do Cpanel

Posledním krokem je zkopírování upravených souborů zpět ze serveru Linux do místního systému Windows. A pak použijte scp nebo ftp ke zkopírování souborů z místního systému Windows do cpanelu.


Linux
  1. Shell skript pro přesun nejstarších souborů?

  2. Jak přejmenovat více souborů dohromady v Linuxu pomocí 3 metod

  3. Linuxový shell skript pro přidání úvodních nul k názvům souborů

  1. Jak hledat soubory pomocí regulárního výrazu ve skriptu linuxového shellu

  2. Jak hledat obsah po vzoru?

  3. Jak vygenerovat seznam jedinečných řádků v textovém souboru pomocí skriptu Linux shell?

  1. Vložit více řádků do souboru po zadaném vzoru pomocí shell skriptu

  2. Použití rz a sz pod linuxovým shellem

  3. Šablony s Linuxem ve skriptu Shell?