sedは「スペースタブ」パターンの最初の出現を置き換えます。

sedは「スペースタブ」パターンの最初の出現を置き換えます。

テキストファイルの最初のスペースと最初のタブの間の文字列を削除するのに問題があります\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/'

関連情報