Strona 1 z 1
[bash] edycja jednej z linii w pliku txt
: 15 sty 2011, 18:04
autor: neib
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
Odp: [bash] edycja jednej z linii w pliku txt
: 15 sty 2011, 23:02
autor: B.A.D.
no więc najłatwiej będzie chyba tak:
Kod: Zaznacz cały
cat plik_z_ksiażkami | grep A | sed 's/A/B/'
można oczywiście dodać zmienne i przerobić na bashowy skrypt:)
Odp: [bash] edycja jednej z linii w pliku txt
: 16 sty 2011, 14:05
autor: neib
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 !?
Odp: [bash] edycja jednej z linii w pliku txt
: 17 sty 2011, 01:23
autor: B.A.D.
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:
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
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:)
Odp: [bash] edycja jednej z linii w pliku txt
: 20 sty 2011, 19:52
autor: neib
A jak w awk włączyć żeby ignorował wielkość liter ?!
Odp: [bash] edycja jednej z linii w pliku txt
: 20 sty 2011, 22:49
autor: B.A.D.
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