Bashで文字列で始まるすべての行をテキストファイルの先頭に移動する方法

Bashで文字列で始まるすべての行をテキストファイルの先頭に移動する方法

テキストデータを含むテキストファイルがあります。 XY:とOTP XY:で始まるすべての行をファイルの先頭に移動したいです。 sed、awk、または他のコマンドを使用してBashでこれをどのように実行しますか?

ベストアンサー1

GNUを使用するed(注:これはfile内部修正、編集されたファイルをstdoutに出力するwqにはに変更されます,p q):

printf '%s\n' 'g/^\(\|OTP \)XY:/m0' wq | ed -s file

おすすめ記事