[Linux][Sed] Problemy ze skryptem

goku94
Użytkownik
Użytkownik
Posty: 33
Rejestracja: 10 kwie 2012, o 13:13
Płeć: Mężczyzna
Lokalizacja: Opole
Podziękował: 12 razy

[Linux][Sed] Problemy ze skryptem

Post autor: goku94 »

Problem jest następujący. Mam listę kilkunastu loginów użytkowników naszej instytutowaj sieci, są one postaci sxxxxxx, czyli s i sześć cyfr. Muszę zamienić te loginy na nazwiska osób do nich przypisanych. W tym celu zamierzam użyć komendy finger -s, która zwraca dwie linijki tekstu. Np.
finger -s s100000
zwraca
Login Name Blabla
s100000 Imię Nazwisko Dlasze info w kilku innych kolimnach.

Teraz z tego potrafię wyselekcjonować to nazwisko w taki sposób, że zostaje mi
<pusta linia>
Nazwisko

Teraz wykorzystuję Sed do zamiany każdego z loginów mojej listy na odpowiednie nazwisko. Lista znajduje się w pliku forsed, a nazwiska mają się znaleźć w sedout.
sed 's/^s[0-9][0-9][0-9][0-9][0-9][0-9]/finger -s s241609|cut -c'11-40'|cut -f1 -d' ' / ' forsed > sedout
W tym miejscu pojawia się następujący błąd:
sed: -e wyrażenie #1, znak 75: niezakończone polecenie `s'
Nie rozumiem. Nie korzystam z flagi -e, a polecenie s jest przecież zakończone. Zatem wszystko powinno iść sprawnie.

Poza tym, kiedy po komendzie finger i kilku innych dostaję:
<pusta linia>
Nazwisko

nie potrafię się tej pustej linii pozbyć, nawet przy użyciu Sed.

Pomocy.
Ostatnio zmieniony 27 sty 2013, o 12:43 przez Anonymous, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
abc666

[Linux][Sed] Problemy ze skryptem

Post autor: abc666 »

Musisz aż sed do tego zaprzęgać ?

Kod: Zaznacz cały

for i in `cat forsed`; do finger -s $i | cut [...] ; done > sedout
ODPOWIEDZ