[bash] edycja jednej z linii w pliku txt
-
- Piegowaty Guziec
- Posty: 5
- Rejestracja: 15 sty 2011, 17:57
- Płeć: Mężczyzna
- Wersja Ubuntu: 10.04
- Środowisko graficzne: GNOME
- Architektura: x86
[bash] edycja jednej z linii w pliku txt
Witam. Mam bazę książek w pliku txt:
NUMER#ID ksiazki#tytul#autor
1#11#1#1
2#22#2#2
3#33#3#3
Potrzebuję komendy, która pozwoli wybrać daną linię (np. tą z pożądanym tytułem), a następnie wyświetli ją w trybie edytowania, tak bym np. mógł wyświetlić całą linię dotyczącą książki A i zmienić jej tytuł na B. Pozdrawiam
NUMER#ID ksiazki#tytul#autor
1#11#1#1
2#22#2#2
3#33#3#3
Potrzebuję komendy, która pozwoli wybrać daną linię (np. tą z pożądanym tytułem), a następnie wyświetli ją w trybie edytowania, tak bym np. mógł wyświetlić całą linię dotyczącą książki A i zmienić jej tytuł na B. Pozdrawiam
- B.A.D.
- Sędziwy Jeż
- Posty: 96
- Rejestracja: 14 lis 2010, 21:16
- Płeć: Mężczyzna
- Wersja Ubuntu: 10.04
- Środowisko graficzne: GNOME
- Architektura: x86
- Kontakt:
Odp: [bash] edycja jednej z linii w pliku txt
no więc najłatwiej będzie chyba tak:
można oczywiście dodać zmienne i przerobić na bashowy skrypt:)
Kod: Zaznacz cały
cat plik_z_ksiażkami | grep A | sed 's/A/B/'
-Ice cream... I like an ice cream.
-Yeah? What flawor?
-Doesn't matter... it's for my ass.
-Yeah? What flawor?
-Doesn't matter... it's for my ass.
-
- Piegowaty Guziec
- Posty: 5
- Rejestracja: 15 sty 2011, 17:57
- Płeć: Mężczyzna
- Wersja Ubuntu: 10.04
- Środowisko graficzne: GNOME
- Architektura: x86
Odp: [bash] edycja jednej z linii w pliku txt
A jak zrobić żeby na ekranie pojawiła się szukana linijka np. : 3#33#3#3 z możliwością jej edycji żebyśmy mogli zamiast 33 wpisać samą 3 !?
- B.A.D.
- Sędziwy Jeż
- Posty: 96
- Rejestracja: 14 lis 2010, 21:16
- Płeć: Mężczyzna
- Wersja Ubuntu: 10.04
- Środowisko graficzne: GNOME
- Architektura: x86
- Kontakt:
Odp: [bash] edycja jednej z linii w pliku txt
hmm to już grubsza sprawa, może w taki sposób, że jeśli znasz numer pozycji książki i powiedzmy jest to numer A:
tyle że stracisz wtedy kolejność numeracji.. jeśli zrezygnujesz z niej może będzie łatwiej szukać książek tylko po ID?
innym sposobem jest stworzenie bazy danych ale to już grubsza piłka:)
Kod: Zaznacz cały
cat plik_z_ksiażkami | grep A > tmp
sed plik_z_ksiazkami -i -e 's/^A//' #tutaj usuwamy wpis z pliku
vim tmp
echo >> plik_z_ksiazkami
cat tmp >> plik_z_ksiazkami
innym sposobem jest stworzenie bazy danych ale to już grubsza piłka:)
-Ice cream... I like an ice cream.
-Yeah? What flawor?
-Doesn't matter... it's for my ass.
-Yeah? What flawor?
-Doesn't matter... it's for my ass.
-
- Piegowaty Guziec
- Posty: 5
- Rejestracja: 15 sty 2011, 17:57
- Płeć: Mężczyzna
- Wersja Ubuntu: 10.04
- Środowisko graficzne: GNOME
- Architektura: x86
Odp: [bash] edycja jednej z linii w pliku txt
A jak w awk włączyć żeby ignorował wielkość liter ?!
- B.A.D.
- Sędziwy Jeż
- Posty: 96
- Rejestracja: 14 lis 2010, 21:16
- Płeć: Mężczyzna
- Wersja Ubuntu: 10.04
- Środowisko graficzne: GNOME
- Architektura: x86
- Kontakt:
Odp: [bash] edycja jednej z linii w pliku txt
wpisujesz po prostu w liście dużą i małą literkę [Aa]. innym sposobem jest użycie funkcji toupper albo tolower i wtedy nie musisz już rozpoznawać wielkości liter.
polecam lekturę:
http://e-portalik.net/awk/gawk_5.html#SEC32
polecam lekturę:
http://e-portalik.net/awk/gawk_5.html#SEC32
-Ice cream... I like an ice cream.
-Yeah? What flawor?
-Doesn't matter... it's for my ass.
-Yeah? What flawor?
-Doesn't matter... it's for my ass.
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 8 gości