Bash, jak zamieni

Potrzebujesz pomocy z C, C++, perl, python, itp.
mpm1122
Posty: 12
Rejestracja: 25 grudnia 2012, 17:01

Bash, jak zamienić dany tekst na inny?

Post autor: mpm1122 »

Witam.
D
opiero poznaję potęgę Linuksa i proszę o wyrozumiałość. Uczę się i system pada po tygodniu i dlatego, że nie chce mi się od nowa wszystkiego ustawiać i instalować zrobiłem skrypt w bashu (jego też dopiero zaczynam ogarniać). Instaluje on wszystko jak należy, ale przychodzi czas na konfigurację i tu zaczynają się schody. Nie wiem zbytnio jak zrobić aby skrypt zamieniał dane wartości na inne. Dokładniej chodzi mi o repozytoria, nie chcę ich dodawać przez polecenie echo bo nie zawsze mi to zaskoczyło/ Próbowałem zrobić to z pomocą seda, ale coś mi nie wyszło.

Muszę zamienić to:

Kod: Zaznacz cały

deb http://security.debian.org squeeze/updates main contrib non-free
Na to:

Kod: Zaznacz cały

deb http://ftp.pl.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.pl.debian.org/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free
deb http://www.deb-multimedia.org squeeze main non-free
deb http://ftp.pl.debian.org/debian/ wheezy main contrib non-free
deb-src http://ftp.pl.debian.org/debian/ wheezy main contrib non-free
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free
deb http://www.deb-multimedia.org wheezy main non-free
Proszę o pomoc.
Awatar użytkownika
Rafal_F
Moderator
Posty: 2350
Rejestracja: 29 sierpnia 2008, 16:45

Post autor: Rafal_F »

A co ci w echo nie działało?

Kod: Zaznacz cały

echo "Jakis tekst" > plik
Zamieni całą zawartość pliku na napis "Jakis tekst", a

Kod: Zaznacz cały

echo "Jakis tekst" >> plik
nadpisze plik na końcu o napis "Jakis tekst".

Ps. Zdecyduj się albo squeeze albo wheezy, bo zrobi się straszny bałagan.

Ps2. Próba przywrócenia niesprawnego systemu do działania np. przy użyciu trybu ratunkowego, lub różnego rodzaju dystrybucji narzędziowych live może być dobrym sposobem nauki i zdobywania doświadczenia.

Ps3. Skoro tak często system wymaga reinstalacji to może lepiej pomyśleć o jakimś narzędziu do klonowania dysku i odtwarzać system z klona?
mpm1122
Posty: 12
Rejestracja: 25 grudnia 2012, 17:01

Post autor: mpm1122 »

Dobrze, dziękuję za pomoc, ale mam do Was jeszcze jedno małe pytanie. Jak dodać jakiś tekst na początku tekstu, a nie na końcu? Np. mam plik liczby.txt:

Kod: Zaznacz cały

12
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
i chciałbym usunąć pierwsze 7 liczb, więc robię coś takiego:

Kod: Zaznacz cały

sed -i 1,+6d  liczby.txt
Ale teraz chcę dodać takie liczby:

Kod: Zaznacz cały

2
3
4
6
7
9
7
5
6
4
Próbowałem przez echo, ale dodawało je na końcu, a mnie zależy aby były na początku. Możecie powiedzieć mi jak to zrobić?
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

Np. tak:

Kod: Zaznacz cały

sed -i '1,1s/^/2\n3\n\4\n/' liczby.txt
ODPOWIEDZ