Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Změna jednoho určitýho řádku v textu příkazem [VYŘEŠENO]  (Přečteno 1320 krát)

NoWin

  • Host
Nazdar, jakým příkazem (bash) se to dá udělat?
Mám třeba konfigurák /etc/init.d/rc...
Kód: [Vybrat]
...PATH=/sbin:/usr/sbin:/bin:/usr/bin
export PATH

# Un-comment the following for interactive debugging. Do not un-comment
# this for debugging a real boot process as no scripts will be executed.
# debug=echo

# Specify method used to enable concurrent init.d scripts.
# Valid options are 'none', 'startpar' and 'makefile'. To enable
# the concurrent boot option, the init.d script order must allow for
# concurrency.  This is not the case with the default boot sequence in
# Debian as of 2008-01-20.  Before enabling concurrency, one need to
# check the sequence values of all boot scripts, and make sure only
# scripts that can be started in parallel have the same sequence
# number, and that a scripts dependencies have a earlier sequence
# number. See the insserv package for a away to reorder the boot
# automatically to allow this.
CONCURRENCY=none

# Make sure the name survive changing the argument list
scriptname="$0"

umask 022

on_exit() {
echo "error: '$scriptname' exited outside the expected code flow."
}
trap on_exit EXIT # Enable emergency handler

# Ignore CTRL-C only in this shell, so we can interrupt subprocesses.
trap ":" INT QUIT TSTP...
... a v něm chci změnit řádek "CONCURRENCY=none" na "CONCURRENCY=shell"
Mělo by to bejt citlivý na velikost písmen a mělo by si to všímat pouze výrazu CONCURRENCY=none a ne CONCURRENCY="none"
« Poslední změna: 04 Listopadu 2009, 01:25:03 od Roman Horník »

Šuohob

  • Závislák
  • ***
  • Příspěvků: 2171
Re: Změna jednoho určitýho řádku v textu příkazem
« Odpověď #1 kdy: 03 Listopadu 2009, 12:52:52 »
nepomohlo by neco na tento zpusob? (pokud tam mam chybu tak me omluvte)

sed "s/CONCURRENCY=none/CONCURRENCY=shell/g"
Tak dlouho se vrzá s Acerem, až se displej utrhne.

NoWin

  • Host
Re: Změna jednoho určitýho řádku v textu příkazem
« Odpověď #2 kdy: 04 Listopadu 2009, 01:22:45 »
nepomohlo by neco na tento zpusob? (pokud tam mam chybu tak me omluvte)

sed "s/CONCURRENCY=none/CONCURRENCY=shell/g"
Jó, to je přesně ono!
Musel jsem to trošku poupravit (příkaz sed "s/CONCURRENCY=none/CONCURRENCY=shell/g" /etc/init.d/rc > /etc/init.d/rc ten soubor vyprázdnil, bez přesměrování se upravenej text zobrazil jen v Terminálu a na čtení manuálu je mi blbě), teď to vypadá takhle:
Kód: [Vybrat]
# mv /etc/init.d/rc /etc/init.d/rc.1
# sed "s/CONCURRENCY=none/CONCURRENCY=shell/g" /etc/init.d/rc.1 > /etc/init.d/rc
... a funguje to přesně tak, jak jsem si přál.

Ještě jednou mockrát dík!

K+
« Poslední změna: 04 Listopadu 2009, 01:24:41 od Roman Horník »

arrange

  • Závislák
  • ***
  • Příspěvků: 4031
  • "jdu s hlavou vztyčenou..."
Re: Změna jednoho určitýho řádku v textu příkazem [VYŘEŠENO]
« Odpověď #3 kdy: 04 Listopadu 2009, 08:27:05 »
Kód: [Vybrat]
sed -i.zaloha 's/^CONCURRENCY=none$/CONCURRENCY=shell/' /etc/init.d/rc
http://www.openstreetmap.org - mapy celého světa "wiki style"

NoWin

  • Host
Re: Změna jednoho určitýho řádku v textu příkazem [VYŘEŠENO]
« Odpověď #4 kdy: 05 Listopadu 2009, 15:22:03 »
Kód: [Vybrat]
sed -i.zaloha 's/^CONCURRENCY=none$/CONCURRENCY=shell/' /etc/init.d/rc
Jo, to je přesně ono, díky!!!

 

Provoz zaštiťuje spolek OpenAlt.