Portál AbcLinuxu, 10. května 2024 02:15


Dotaz: bash a rovnake riadky

30.3.2011 19:02 bashhhh
bash a rovnake riadky
Přečteno: 138×
Odpovědět | Admin

Zdravim, potreboval by som v bashi odstranit z riadka text "* bol dnes *". Nasledne riadky ktore obsahuju rovnaky vyraz odstranit. Ako sa to da? Dakujem.

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

30.3.2011 19:04 l4m4
Rozbalit Rozbalit vše Re: bash a rovnake riadky
Odpovědět | | Sbalit | Link | Blokovat | Admin
Potřebuješ to udělat v bashi, nebo i pomocí nějakého unixového nástroje jako sed, awk, ...?

Co máte furt všichni s tím bashem?
30.3.2011 19:05 Sten
Rozbalit Rozbalit vše Re: bash a rovnake riadky
Co máte furt všichni s tím bashem?
To bude asi tím, že začíná období zápočtů :-)
30.3.2011 20:24 bashhhh
Rozbalit Rozbalit vše Re: bash a rovnake riadky

sed alebo awk moze byt.

btw, do skoly to nepotrebujem :).

30.3.2011 20:57 l4m4
Rozbalit Rozbalit vše Re: bash a rovnake riadky
sed '0,/X/{s/X//g};/X/d'
kde za X si dosaď příslušný regulární výraz pro věc, která se má poprvé vynechat z řádku a posléze s celým řádkem.
30.3.2011 21:00 Patrik Uhrak | skóre: 31 | blog: pato
Rozbalit Rozbalit vše Re: bash a rovnake riadky
Odpovědět | | Sbalit | Link | Blokovat | Admin

Zdravim,

mohlo by to byt aj takto:

 

#! /bin/bash
OLD_FILE='./test.file'                       # cesta k povodnemu suboru
NEW_FILE='./new_test.file'                   # cesta k novemu suboru
while read LINE
do
    if [[ ${LINE} =~ bol\ dnes ]]
    then
        echo "${LINE//bol dnes}">>"${NEW_FILE}"
    else
        echo "${LINE}">>"${NEW_FILE}"
    fi
done <"${OLD_FILE}"

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.