Portál AbcLinuxu, 16. prosince 2025 22:56
sed a dále vyhledávání zde a na googlu.
nl, grepom zistit riadok zo zadanym retazcom, cutom zistit, kolky to bol riadok.
Ked uz mame cislo riadku -- zadane alebo zistene predchadzajucim sposobom -- vytailovat vsetky riadky od zadaneho do konca suboru a z toho vyheadovat prvy riadok.
sedem by to bylo nejjednoužší, ale cesty jsou růzdné. Ale autor nechce použít grep (nevím proč, právě kvůli této podmínce mi to připadá jako zadání nějakého domácího úkolu).
tail +10 < subor |head -1
cat $LOGSOUBOR | grep vyraz | tr -d s |awk '{print $4}'| while read L do if [ "$L" -ge 2 ] ; then echo "CHYBA S CASEM $I" fi done; cat -n soubor - vypíše sloupec s čísly řádků, pak ovšem musíte upravit zbytek roury a tisknout vic sloupcu.
cat $LOGSOUBOR | grep vyraz | while read Radek
do
L="$(echo "$Radek" | awk '{print $4}' | tr -d s)" # nebo: "$Radek" | cut -f 4 -d " " | tr -d s
if [ "$L" -ge 2 ]; then
echo "CHYBA S CASEM $I"
echo "$Radek"
fi
done;
read $x $l, v $x budeš mít sice tu hodnotu i s tím koncovým 's', ale to myslím nevadí
prostě něco jako {print $4; print;}
sed -n '3p' soubor_s_textem - vypíše třetí řádek
file: program.awk
=================
{
while ((getline line < inputFile) > 0) {
# process the line `line'
}
close(inputFile);
}
Podle mě je to nejelegantnější...
man sed man awk:)
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.