Try to search your question here, if you can't find : Ask Any Question Now ?

Is there a way to join lines after a match expression in awk?

HomeCategory: stackoverflowIs there a way to join lines after a match expression in awk?
kundan asked 1 week ago

I’m trying to format in a better way a text. I want to join conditionally two subsequent line in awk: if the line end in “.” print the line as it is, if the line doesn’t end in “.” join this and the subsequent line if the latter begin in lowercase.

i have tried this calling awk -f scriptfile textfile

{ if ( $NF ~ /.*./ )
    print $0;
  else {
    line_p=$0;
    getline;
    if ( $0 ~ /^[ a-z]+/ )
        print line_p, $0;
    else {
        print line_p;
        print $0
        }
    }
}

I’ve tried on this:

io sono un segno
cavallo come un cammello.
Il mio vitello si chiama segno di
Budd chiari. Se non fosse così:
-cavalli eterni 
-eterni cavalli
opere incompiute

but the output is this:

io sono un segno cavallo come un cammello.
Il mio vitello si chiama segno di
Budd chiari. Se non fosse così:
-cavalli eterni 
-eterni cavalli
opere incompiute opere incompiute

i don’t understand the last repetition and why line 6 and 7 are not joined together

expected:

io sono un segno cavallo come un cammello.
Il mio vitello si chiama segno di
Budd chiari. Se non fosse così:
-cavalli eterni 
-eterni cavalli opere incompiute
1 Answers
Best Answer
Amit answered 1 week ago
Your Answer

13 + 11 =

Popular Tags

WP Facebook Auto Publish Powered By : XYZScripts.com