» Poradna » Windows (a jiné OS)

Linux - Nahrazení textu v souboru

 |   |  Microsoft Windows 10 Chrome 70.0.3538.110

Ahoj, v manuálu 'sed' je uveden příklad pro nahrazení slova v souborused 's/word1/word2/g' input.fileJak to ale udělat když potřebuji nahradit nějaký text jiným textem?Zkoušel jsem to taktosed 's/'word1 word11'/'word2 word2 2'/g' input.filei taktosed 's/"word1 word11"/"word2 word2 2"/g' input.fileale nenahradí se to. Umí někdo poradit prosím? Děkuji

Mohlo by vás také zajímat

Odpovědi na otázku

 |   |  Linux Chrome 60.0.3112.90

Chybí ti tam "-i" Bez něho se nenahradí nic. Takže správně je.sed -i 's/word1/word2/g' input.file

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 70.0.3538.110

-i jsem vynechal jen tady, v příkazu -i bylo.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Linux Chrome 60.0.3112.90

1. Třeba tam to slovo není, tím pádem není co nahradit. Nebo pokud je v něm mezera, musíš ho dát do uvozovek.2. Nebo máš špatně zadanou cestu k tomu souboru.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Android Chrome 70.0

Já teda s Linuxem nedělám, ale nemá místo input.file být název konkrétního souboru?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 70.0.3538.110

Jedná se o příklad.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Android Chrome 70.0

Já chápu, že jde o příklad, ale v praxi jsem se již mnohokrát setkal s tím, že uživatel odněkud opsal nějaký příkaz nebo skript doslovně a pak se dívil, že to nefunguje. Pokud to není tvůj případ, tak se omlouvám, byl to prostě jen nápad.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 70.0.3538.110

V pohodě, není důvod se omlouvat. Díky.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Firefox 63.0

sed -i 's/prvni veta/druha veta/g' soubor

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 70.0.3538.110

Díky moc

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Input