Portál AbcLinuxu, 8. května 2025 02:36
echo "Hodnota1=15;Hodnota2=30;Hodnota3=5" >> /home/graf/data/stat.dat
Řešení dotazu:
mv orig orig.old echo "new record" > orig cat orig.old >> orig rm orig.old
sed -i '1iHODNOTY' SUBOR
sed: couldn't open temporary file ./sedGiiwXI: Permission deniedTakze rychlostne si nijak nepomozes. Mozes skusit si nechavat na zaciatku suboru hlavicku ukazujucu na offset v subore, kde zacinaju skutocne data a medzi hlavickou a datami bude volny priestor, ktory sa bude postupne zaplnat a patricne aktualizovat hlavicka. Az sa zaplni cely, tak subor presypes do noveho a zase vyrobit volne miesto. Cim budes kopirovat obsah iba raz za cas.
Ahoj.
A co tak misto sedem na zacatek to zapisovat normalne na konec a lessem si vypsat jen posledni radek? Volani "neceho ze systemu" to je tak jako tak a rekl bych, ze less -n 1
bude podstatne rychlejsi, nez sed -i
.
Dejv
less
myslíte tail
.
playsound=1Budu mít settings.xml:
<?xml version="1.0" encoding="UTF-8"?> <settings> <param name="playsound">1</param> </settings>Takže oproti 12 bajtům, takovej bastl + xml parser v aplikaci.
No hrůza… Tedy až na to, že ten XML parser vlastně není v aplikaci ale v knihovně a že v okamžiku, kdy se v budoucnu zkomplikuje struktura toho konfiguračního souboru, bude XML najednou jednodušší, přehlednější a hlavně snáze parsovatelné než ten původně jednoduchý konfigurační soubor.
Tím samozřejmě nechci tvrdit, že má být všechno v XML. Ale stejně tak nepovažuji za správné šmahem odsoudit konfiguraci v XML jako apriorní nesmysl.
param name=
je skutočne choré (asi ako rakovina = množí sa a množí ...) (fopen, mod => FRead (soubor, FileSize (soubor))
pameti aby zjistilo kolik ma radku, skocilo na posledni a vypsalo...
$p = 0; //counter na 0 $slozka = dir("./data"); //urceni slozky s databazema while($soubor=$slozka->read()) { //cyklus dokud neprojde celou slozku if ($soubor=="." || $soubor=="..") continue; //vynecha na zacatku cyklu radky "." a ".." $soubor = explode(".", $soubor); //roseka string soubor.pripona na soubor $seznam_souboru[$p] = $soubor[0]; //a ulozi do pole seznam_souboru $p++; //pricte counter } $slozka->close(); //zavre slozku... ted nasledujou html tagy a v html zacatek deklarace tabulky ktera pokracuje generovanim jejiho obsahu pomoci php...
for ($p = 0; $p < count($seznam_souboru); ++$p){ $soubor = fopen("./data/$seznam_souboru[$p].txt","r"); $nalezeno = false; while(!$nalezeno && !feof($soubor)) { $data = explode(";", fgets($soubor)); $nalezeno = true; //v pripade hledani (ted deakt.) } echo "tr td".$seznam_souboru[$p]."/td td".$data[1]."/td td".$data[2]."/td td".$data[3]."/td td".$data[4]."/td td".$data[5]."/td td".$data[6]."/td td".$data[7]."/td td".$data[8]."/td td".$data[9]."/td td".$data[10]."/td tr"; }znacky <> jsem u tr a td musel odstranit pac se mi tu nechteli zobrazit (kdyz formatuju tagem < pre > ) A ta druha tabulka bude generovana obdobne akorat bude prochazet cely soubor a hledat + počitat nektere udaje. Díky moc snad tohle pomuže
miluju jednoduchá řešení. Proto bych zapisoval normálně pomocí např "echo text >>" na konec souboru. Pro výpis souboru bych pak do roury předřadil "tac" je to ekvivalent "cat"u, ale vypisuje řádky v opačném pořadí - takže poslední řádek = první .
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.