a következö problémára keresek valami frappáns (sed, awk ...) megoldást:
egy fileban szeretném a sorok felcsrélni kettesével
input:
1_aaaaaaa
2_bbbbbbb
3_ccccccc
4_ddddddd
szeretném ezt az outputot:
2_bbbbbb
1_aaaaaa
4_dddddd
3_cccccc
Tehát az elsöt a másodikkal a harmadikat a negyedikkel és igy tovább.
Köszönöm.
- 1179 megtekintés
Hozzászólások
cat test.txt | awk 'BEGIN{c=0;} {sor[c]=$0;c++;} END{for(i=0;i<c;i=i+2)printf("%s\n%s\n",sor[i+1],sor[i]);}'
Ez igy eleg tomor?
- A hozzászóláshoz be kell jelentkezni
ugyanaz, kevesebb memoria felhasznalasaval:
awk ' BEGIN{ c=0; }
{
if (c==0) { sor=$0; c=1; }
else { print $0; print sor; c=0; }
}
END{ if (c==1) { print sor; } }'
- A hozzászóláshoz be kell jelentkezni
azert ne oldjuk mar meg a hazi feladatat :)
- A hozzászóláshoz be kell jelentkezni
nem házi feledat :-)
XML-t szertének beolvasni/feldolgozni.
Debianra még csomagvan nem érhetö el az xgawk ezét marad a hagyományos megoldás, csak a sorcserét nem tudtam vele egyszerüen megoldani.
- A hozzászóláshoz be kell jelentkezni
Ezt nem értem. Az XML-ben a sorok fizikai sorrendje nem szabadna, hogy információt hordozzon. Amúgy pedig XML beolvasásra/feldolgozásra általában vannak beépített csomagok/modulok egy csomó nyelvhez.
- A hozzászóláshoz be kell jelentkezni
ok akkor máshogy megfogalmazva a problémát,
ez van n-szer egymás után(RSS XML):
<item>
<title>xxxxxxxxx</title>
<link>http://www.yyyyyyyy.com</link>
<description>zzzzzzzzzzzz</description>
<category>aaaaaaa</category>
<pubDate>Wed, 2 May 2007 17:55:08 +0100</pubDate>
</item>
ezt akarmom belöl:
<a href="http://www.yyyyyyyy.com">xxxxxxxxx</a>
...
Az egész egyszerü rutinfeladat,csak a sorrend okozot gondot.
Milyen shell megoldás van rá ?
perl-t nem akrok (tudom van xml modulja)?
- A hozzászóláshoz be kell jelentkezni
köszönöm imp, ez tökéletes.
- A hozzászóláshoz be kell jelentkezni