テキストファイルの最初のスペースと最初のタブの間の文字列を削除するのに問題があります\s
(タブは保持する必要があります)。\t
入力例:
col1_frame1 unimportant a b c
サンプルの予想出力:
col1_frame a b c
これを試しましたが、sed 's/ .*\t/\t/'
間違った結果が出ました。
私の出力例(以前のsedを使用):
col1_frame c
答え1
これは.*
、すべてが一致し(正規表現のワイルドカードであるため)、最後のタブが表示されるまで(そしてその間に他のタブを含めるまで)、できるだけ遠くに拡張できるためです。必要なのは[^\t]*
タブ文字を含まないすべての文字列と一致することであるため、結合されたsedへの呼び出しは次のようになります。sed 's/ [^\t]*\t/\t/'