Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

kako u jedan red

[es] :: Linux aplikacije :: kako u jedan red

[ Pregleda: 5495 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

lega99

Član broj: 82119
Poruke: 743



+12 Profil

icon kako u jedan red08.03.2015. u 17:38 - pre 66 meseci
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
 
Odgovor na temu

lega99

Član broj: 82119
Poruke: 743



+12 Profil

icon Re: kako u jedan red08.03.2015. u 21:59 - pre 66 meseci
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
 
Odgovor na temu

tuxserbia
Oleg Vučković
urandom
/dev/null
Niš

Član broj: 4094
Poruke: 867

Jabber: tuxserbia@elitesecurity.org
ICQ: 65355850
Sajt: 127.0.0.1


+110 Profil

icon Re: kako u jedan red09.03.2015. u 18:34 - pre 66 meseci
A kako se zove izlazni fajl na kraju?
Kako se dele racunarski programi?
Na bagovite (sa greskama) i ispravne (bez gresaka). Ovi drugi su hipoteticki.
***GPL-ovano by @Shadowed

"Ja za email koristim outlook express u virtualnoj mašini, tako da s te strane nijedan linux nije
dorastao XP-u." - pisac
 
Odgovor na temu

lega99

Član broj: 82119
Poruke: 743



+12 Profil

icon Re: kako u jedan red12.03.2015. u 14:00 - pre 65 meseci
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.
 
Odgovor na temu

tuxserbia
Oleg Vučković
urandom
/dev/null
Niš

Član broj: 4094
Poruke: 867

Jabber: tuxserbia@elitesecurity.org
ICQ: 65355850
Sajt: 127.0.0.1


+110 Profil

icon Re: kako u jedan red12.03.2015. u 19:54 - pre 65 meseci
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.




Kako se dele racunarski programi?
Na bagovite (sa greskama) i ispravne (bez gresaka). Ovi drugi su hipoteticki.
***GPL-ovano by @Shadowed

"Ja za email koristim outlook express u virtualnoj mašini, tako da s te strane nijedan linux nije
dorastao XP-u." - pisac
 
Odgovor na temu

lega99

Član broj: 82119
Poruke: 743



+12 Profil

icon Re: kako u jedan red12.03.2015. u 22:12 - pre 65 meseci
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
 
Odgovor na temu

tuxserbia
Oleg Vučković
urandom
/dev/null
Niš

Član broj: 4094
Poruke: 867

Jabber: tuxserbia@elitesecurity.org
ICQ: 65355850
Sajt: 127.0.0.1


+110 Profil

icon Re: kako u jedan red12.03.2015. u 22:44 - pre 65 meseci
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.


Kako se dele racunarski programi?
Na bagovite (sa greskama) i ispravne (bez gresaka). Ovi drugi su hipoteticki.
***GPL-ovano by @Shadowed

"Ja za email koristim outlook express u virtualnoj mašini, tako da s te strane nijedan linux nije
dorastao XP-u." - pisac
 
Odgovor na temu

[es] :: Linux aplikacije :: kako u jedan red

[ Pregleda: 5495 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.