sedと逆参照を使用して行の一部を抽出したいと思います。

sedと逆参照を使用して行の一部を抽出したいと思います。
 1.The Greater Company :(Ranked 2) 
 5.United Taxi Service :(Ranked 3) 
31.The Cacao Company :(Ranked 4) 
40.Monster Inc. :(Ranked 5)
55.Afala, Industrial Strength :(Ranked 6) 
60.The North Company :(Ranked 7) 

会社番号と会社名だけを表示したいです。残りの行を表示したくありません。

 1.The Greater Company  
 5.United Taxi Service 
31.The Cacao Company  
40.Monster Inc. 
55.Afala, Industrial Strength 
60.The North Company

sed 's/: .* //' filename.txt でこれを行うことができます。逆参照のあるパターンを使用して上記の結果をどのように取得できますか?一致させるパターンは([0-9] * .* :)です。

答え1

すべての行が次から始まる場合、[0-9]*明示的に一致させる必要はありません。:区切り文字だけをキャプチャ(含まず)するだけです。

sed 's/\(^[^:]*\) :.*/\1/' file
  1.The Greater Company
  5.United Taxi Service
  31.The Cacao Company
  40.Monster Inc.
  55.Afala, Industrial Strength
  60.The North Company

関連情報