Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam,
Mam tekst typu:
abc abc2 abc3 abc4 abc5 abc6 abc7 abc8 abc9 abc10 itd.
Za pomocą grep cut lub tr chce żeby wyglądał:
abc abc2 abc3
abc4 abc5 abc6
abc7 abc8 abc9
abc10 itd.
Inaczej mówiąc co trzeci biały znak spacji był '\n'.
jak to zrobić?
Ostatnio edytowany przez Paul87 (2010-12-30 04:44:01)
Offline
koniecznie tych komend ... bo najlepszy wydawalby sie sed ...
Offline
... lub awk.
Offline
Nie da się. Żaden z nich nie pozwala na tworzenie pętli, a bez pętli tego nie zrobisz.
Możesz zrobić pętlę shellową, ale kiedy już używasz shella, to wystarczą Ci wbudowane polecenia (dash-compatible):
#!/bin/sh unset line j=0 for i in abc abc2 abc3 abc4 abc5 abc6 abc7 abc8 abc9 abc10 itd.; do line="$line $i" j=$((j+1)) if [ "$j" -ge 3 ]; then echo "$line" unset line j=0 fi done if [ ! -z "$line" ]; then echo "$line" fi
Wczytywanie tych „abc” z pliku oraz STDIN pozostawiam jako pracę domową. Powinieneś sobie poradzić.
Offline
Muszą być koniecznie te komendy Można używac jeszcze tylko haed i tail( jednak sensu nie widzę). Tekst ogólnie jest pobierany ze strony internetowej, a nie z pliku. Udało mi sie z tego zrobic także to:
abc
abc2
abc3
abc4
abc5
abc6
abc7
abc8
abc9
abc10
itd.
Może z tego będzie łatwiej zrobić to:
abc abc2 abc3
abc4 abc5 abc6
abc7 abc8 abc9
abc10 itd.
Offline
Podaj może pełną treść tego zadania które masz wykonać, bo na razie błądzimy we mgle. tr, cut, grep, head oraz tail nie potrafią pobrać strony internetowej, więc przy tak zakreślonych warunkach brzegowych zadanie jest niewykonalne. Czegoś nam nie mówisz.
I koniecznie napisz dlaczego mamy za Ciebie odrabiać Twoją pracę domową (gdyby to nie była praca domowa, mógłbyś wykorzystać dowolne narzędzia).
Offline
Dlatego nie podałem treści zadania, żeby nie było że ktoś odrabia prace domową za mnie. Po prostu pytanie które zadałem pomogło by mi w wykonaniu tej pracy, którą praktycznie mam ukończoną. Borykam się tylko z tym problemem który opisałem w temacie. Jednak widzę że problem jest nie do rozwiązania.
Offline