Portál AbcLinuxu, 14. května 2025 02:28
sed
a dále vyhledávání zde a na googlu.
nl
, grep
om zistit riadok zo zadanym retazcom, cut
om zistit, kolky to bol riadok.
Ked uz mame cislo riadku -- zadane alebo zistene predchadzajucim sposobom -- vytail
ovat vsetky riadky od zadaneho do konca suboru a z toho vyhead
ovat prvy riadok.
sed
em 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í
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.