stdout
のTAB
をセミコロンに置き換えるには、ZSHシェルからsed
を実行します。sedリテラルを置き換えるTAB
私は(他のシェルでは?)通常1缶理解して使用します。
somecommand | sed 's/\t/;/g'
しかし、これはFreeBSDでZSH-シェルで私のために動作しません。 \t
は表作成者と一致しません。どうしてこれなの?私はまた、複数のバックスラッシュ(最大5)を試しました。
これは、作業を行います。
somecommand | sed 's/[TAB]/;/g'
、[TAB]
は私のキーボード上TAB
ボタンに続いてCtrl-V
を入力することにより、挿入された実際のTAB
-character、です。
本当にありがとうございました。 – poplitea
@popliteaスクリプトがksh93、bashまたはzsh(pdksh、Bourne、ashなどの他のsh変種とは対照的)でのみ実行される場合、 '$ 's/\ t /; /' g'を使うことができます。シェルはバックスラッシュ展開を行い、 'sed'はリテラルタブ文字を見ます。 – Gilles
@Gilles:Fantastic!私は$()の代わりに$ ''を知っていました。ありがとう、これは簡単に私の問題を解決することができます。しかし、これはコメントではなく答えに入れておくべきでしょうが、(?)。 – poplitea