Unixでは、複数行を1行と仮定してgrepしようとしています。

Unixでは、複数行を1行と仮定してgrepしようとしています。
abc def \ 
ghi \
jkl mno pqr \
stu vwx yz

私のgrepコマンドが上記の内容を1行と仮定し、「ghi」をgrepして次を返す方法

abc def ghi jkl mno pqr stu vwx yz

答え1

GNUの使用grep:

$ grep -Eo '[a-z]+' file | paste -sd ' ' -
abc def ghi jkl mno pqr stu vwx yz

または一般grep

$ grep -o '[a-z]\{1,\}' file | paste -sd ' ' -
abc def ghi jkl mno pqr stu vwx yz

そしてPerl

$ perl -0777 -nE 'say join " ", /\w+/g' file
abc def ghi jkl mno pqr stu vwx yz

関連情報