Bash - Printing out sentences line by line
Bash - Printing out sentences line by line
I have yet another bash question. If I have a file like...
Today is sunny. I like the sun. It is awesome! And I want to print out each char until it hits a ?, ., or !. can this also be a awk one liner? I want the printout to look like.
Today is sunny. I like the sun. It is awesome! Answer by SzG for Bash - Printing out sentences line by line
echo Today is sunny. I like the sun. It is awesome! | sed 's/[.!?] */&\n/g' Answer by Karoly Horvath for Bash - Printing out sentences line by line
You just have to specify the record separator:
awk 'BEGIN {RS="[.!?] *"} {print}' Answer by klashxx for Bash - Printing out sentences line by line
Something close in awk (not exactly want needed but interesting):
echo 'Today is sunny. I like the sun. It is awesome!'|awk '1' RS='[.,?]' The canonical awk way:
echo 'Today is sunny. I like the sun. It is awesome!'|gawk 'a=gensub(/(\.|!|\?) */, "\\1\n", "g"){print a}' Answer by Taher Khorshidi for Bash - Printing out sentences line by line
a solution using sed:
sed 's/\([\?\!\.]\)\s*/\1\n/g' Answer by aedunn for Bash - Printing out sentences line by line
echo Today is sunny. I like the sun. It is awesome! | awk '{gsub(/([?,.!])/,"&\n");print}' Fatal error: Call to a member function getElementsByTagName() on a non-object in D:\XAMPP INSTALLASTION\xampp\htdocs\endunpratama9i\www-stackoverflow-info-proses.php on line 72

0 comments:
Post a Comment