[ lega99 @ 08.03.2015. 17:38 ] @
Code:
cat gradovi2 | awk '{print $0; printf "%04d\n", "'$a3'"}' > proba$a3.txt

Ovo radi ali dobijem dva reda u fajlu, zelim da izlaz bude spojen u jednom redu fajla
primer:
pera
0001
mika
0002

a zelim:
pera0001
zika0002
[ lega99 @ 08.03.2015. 21:59 ] @
Reseno Ovaj forum je stvarno polumrtav, sam pitam sam odgovaram
Resenje je:
Code:
cat ulazni_file | awk '{printf $0 "%04d\n", "'$a3'"}' > izlazni_file$a3.txt
[ tuxserbia @ 09.03.2015. 18:34 ] @
A kako se zove izlazni fajl na kraju?
[ lega99 @ 12.03.2015. 14:00 ] @
Citat:
tuxserbia: A kako se zove izlazni fajl na kraju?

To je deo skripte, posle ide
Code:
cat izlazni_file*.txt > proba.txt
rm izlazni_file*.txt

Resavska skola, prepisujem, malo ostalo u glavi programerske logike i sklepam nesto.
[ tuxserbia @ 12.03.2015. 19:54 ] @
E, zato sam i pitao, zato što znam da je u pitanju skripta, a ti pitaš samo za jednu liniju. Ova promenljiva a3 nije deo awk-a, pa ne bi ni mogao da prosledi vrednost kasnije na shell koji koristiš. Ovo tvoje meni izbacuje

Code:

pera
0000
mika
0000


Ako je sadržaj gradovi2( što bi se onda zvao gradovi, ali ajde) fajla ovakav:

Code:

mika
pera
zika


evo proste komande

Code:

awk '{printf $0 "%02d\n", FNR}' gradovi2


i dobijemo

Code:

mika01
pera02
zika03


FNR je redni broj rekorda u tekućem fajlu. Ovo 02 razumeš, da ima dve cifre, radi normalno i sa 04, imaće četiri cifre sa nulama na početku. Na kraju možeš da ga preusmeriš u neki drugi fajl bez problema. Ovo je isprobano u gawk i mawk, čak i cygwin u xp-u radi.



[ lega99 @ 12.03.2015. 22:12 ] @
Skripta ima malkice zahtevniji ulaz, ulaz uzima sa ekrana, zahtevam unos u mom slucaju od 4 cifre.
Postavljam uslov koliko puta da doda +1 na pocetni unos i pocetnu vrednost za brojac.
Ucitavam slog iz fajla i pravim kombinaciju slog+brojcani_iznos a izlaz je fajl koji menja ime
vrednosti brojaca. Svaki puta na trenutni iznos dodaje se +1 i cikus se ponavlja sve dok
se ne zadovolji uslov za petlju
dobijam 9999 fajlova koje na kraju spajam u jedan.
problem mi je bio da ukapiram da ne moze print i printf zajedno.

Code:
#!/bin/sh
echo -n "Enter year: "
read a3
a2=1
for i in `seq 1 9999`;
        do
         cat ulaz.txt | awk '{printf $0 "%04d\n", "'$a3'"}' > izlaz$a3.txt        
a3=$((a2+a3))
done
echo $a3 
cat izlaz*.txt > izilazi33.txt
rm izlaz*.txt
exit

Malo mentalne gimnastike i resavske prepisivacke skole bez ikakvog ucenja, internet je cudo, sve se nadje
kao primer i malo prilagodi. Sad moglo bi se sigurno menjati sve preko ulaza sa ekrana, ovo 9999, pa 4d,
pa ime ulaznog fajla i putanja, putanja gde da ide izlazni fajl ;za mene ovo dovoljno :D

Ovo tvoje je elegantnije resenje, zapisacu negde pa posle copy/paste :)
Code:
awk '{printf $0 "%02d\n", FNR}' gradovi2
[ tuxserbia @ 12.03.2015. 22:44 ] @
Nisam razumeo šta treba da radi skripta, ali nema veze. Ako ti radi to što hoćeš.

Ako te interesuje malo više, potraži na netu "Arnold D. Robbins", čovek ima pisanije boli glava. Napisao je baš sve što može da zatreba o skriptovanju.

https://www.gnu.org/software/gawk/manual/gawk.pdf

Ovo je zvanično uputstvo za GNU awk, koje se i najčešće nalazi po distribucijama. Debian i Ubuntu koriste mawk, malo je brži, ali ne podržava baš sve komande.