bash - wyrażenie regularne oraz zapis do pliku

Potrzebujesz pomocy z C, C++, perl, python, itp.
erasil
Posty: 24
Rejestracja: 24 stycznia 2008, 16:58

bash - wyraŻenie regularne oraz zapis do pliku

Post autor: erasil »

Zacząłem zabawę z bashem, i chciałbym napisać dla treningu prosty skrypt!

Na razie posiadam taki kod!

Kod: Zaznacz cały

#!/bin/bash

case "$1" in
  -addfarm)
	echo "Podaj nagłówek ze skanu!"
	read naglowek
	koordy=${naglowek[5]}
	nick=${naglowek[6]}
	echo "Nick:$nick \n Koordy:$koordy \n" >> $HOME/dane.txt
	sed -e "s/(.*\'//g" $HOME/dane.txt
	;;
  -showfarms)
	< $HOME/dane.txt
	;; 
  *)
	echo "nie zdefiniowano"
esac 
Dobrze, skrypt miał na celu z tego tekstu:

Kod: Zaznacz cały

Surowce na Zer Kirakan [2:11:7] (Gracz 'Anachron')
o 03-16 16:54:54
wypisać do pliku dane.txt takie coś:

Kod: Zaznacz cały

Nick: Anachron
Koordy: [2:11:7]
i jakoś nie działa. Proszę o pomoc.
Gość

Post autor: Gość »

Kod: Zaznacz cały

#!/bin/bash

case "$1" in
  -addfarm)
    echo "Podaj nagłówek ze skanu !"
    read naglowek
    koordy="$(printf "$naglowek" | awk '{print $5}')"
    nick="$(printf "$naglowek" | awk '{print $7}' | tr -d [[ :p unct:]])"
    echo -e "Nick: $nick\nKoordy: $koordy\n" >> dane.txt
    ;;
  -showfarms)
    echo "$(< dane.txt)"
    ;;
  *)
    echo "nie zdefiniowano"
    ;;
esac 
Pozdrawiam
ODPOWIEDZ