sedを使用してnスペースで始まり、nスペースで終わる文字列を切り捨てる

sedを使用してnスペースで始まり、nスペースで終わる文字列を切り捨てる

sedxスペースで始まり、yスペースで終わる切り取りテキストを使用する方法は?

たとえば、これは私の文字列です。

 kkk 111 fff      aaabbb 5d98 ccc         mmmppp 9369d

私は次のような出力を得たいと思います。

 aaabbb 5d98 ccc

(スペース数は不明)

ありがとうございます。

ベストアンサー1

私たちは空白の量を知らないいくつかのテキストについて話しています。

sed 's/.* \{2,\}\([[:alnum:]].*\) \{2,\}.*/\1/'

または -r(-E) を使用して

sed -E 's/.* {2,}([[:alnum:]].*) {2,}.*/\1/'

適切なようですが、grepこの場合はより良いです。

grep -Po ' {2,}\K[[:alnum:]].*(?= {2,})'

それほど強力ではありませんが(ただ2つのカーンのみ)、正確です。

sed -E 's/.*  (\w.*)  .*/\1/'

おすすめ記事