Portál AbcLinuxu, 11. května 2024 08:36


Dotaz: ako vystrihnut casti textu v bashi

21.3.2014 20:44 Pato
ako vystrihnut casti textu v bashi
Přečteno: 351×
Odpovědět | Admin
Zdravim,

mam text vo formate trebars:

"ahoj"

a a a a a

a a a a a

a a a a a

.

"cau"

a a a a a

a b a a a

a a a a a

a a a a a

.

"nazdar"

c c c c c

c c c c c

.

"szia"

a a b c c

a c a a a

--

a ako vystrihnut odstavce v ktorych sa nachadza pismeno b , teda aby mi ten povodny text upravilo na

"cau"

a a a a a

a b a a a

a a a a a

a a a a a

.

"szia"

a a b c c

a c a a a

vopred vdaka za pomoc. (tam kde je . tak to je ako prazdny riadok)

Řešení dotazu:


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

Odpovědi

Jendа avatar 21.3.2014 20:55 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: ako vystrihnut casti textu v bashi
Odpovědět | | Sbalit | Link | Blokovat | Admin
Netestováno, nástřel, pseudokód
buf=""
b=0
while read line; do
  if [ -z "$line" ]; then # končí odstavec
    if [ $b -eq 1 ]; then # v odstavci bylo b
      echo "$buf"
      b=0
    fi
    buf=""
  fi
  buf="$buf$line" # tohle asi nezachová newline na konci, zkus tam strčit $'\n'
  if echo "$line" | grep -q b; then
    b=1
  fi
  if
done < file
Já to s tou denacifikací Slovenska myslel vážně.
Řešení 1× (Queria Sa-Tas)
wamba avatar 22.3.2014 00:47 wamba | skóre: 38 | blog: wamba
Rozbalit Rozbalit vše Re: ako vystrihnut casti textu v bashi
Odpovědět | | Sbalit | Link | Blokovat | Admin
pokud ti nevadí použití Perlu
perl -n00E 'print if /b/' <<EOF 
"ahoj"
a a a a a
a a a a a
a a a a a

"cau"
a a a a a
a b a a a
a a a a a
a a a a a

"nazdar"
c c c c c
c c c c c

"szia"
a a b c c
a c a a a 
EOF

This would have been so hard to fix when you don't know that there is in fact an easy fix.
Jendа avatar 22.3.2014 11:41 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: ako vystrihnut casti textu v bashi
To je hustý! :-D
22.3.2014 12:15 potato
Rozbalit Rozbalit vše Re: ako vystrihnut casti textu v bashi
A ani k tomu není zapotřebí perl:
awk '/b/{print}' RS='\n\n' ORS='\n\n' ...

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.