Pisze skrypt w AWK, ktory dzieli plik wejsciowy na "strony"
Posted on Fri 27 August 2004 in Tips text {sed, awk, perl, etc.} • 1 min read
CZesc!
Mam taki mały problem. Pisze skrypt w AWK, ktory dzieli plik wejsciowy na "strony", ktore maja liczyc 60 linii. Strony maja byc odzielone linijka tekstu zawierajaca nazwe pliku wejsciowego, numer aktualnej strony i liczbe wszystkich stron.
Juz prawie skonczylam, nie wiem tylko jak poradzic sobie z ta całkowita liczba stron. Probowalam uzywac zmiennych, zmiennych poprzedzonych -v ale chyba co zle kombinowalam. Dotychczas skrypt wyglada tak:
#!/usr/bin/awk -f
{if (NR==1 || NR%58-1==0) {print ("=== " FILENAME " ") int(NR/58+1) XXX}}
{print $0}
gdzie w miejscu XXX powinna znalezc sie calkowita liczba stron.
Moze ktos bedzie mily i pokaze jak to powinno wygladac z fachowego punktu widzenia:)
#!/bin/awk -f
BEGIN{FS = "\n";RS = "EOF"}
{
s = 1
a = (NF / 60)
if (NF % 60)
a++
for (p = 1; p <= NF; p++)
{
if ((p % 60) == 1)
printf("%s %d/%d\n", FILENAME, s++, a)
printf("%s\n", $p)
}
}