質問: 列を使用してスペースではなくタブを区切るにはどうすればよいですか? unixのcolumnコマンドを使用して、テキストをフォーマットします。タブで区切られたフィールドがありますが、各フィールド内にはスペースもあります。 columnは、空白(タブとスペース)で区切ります。列を区切り文字としてタブのみを使用するにはどうすればよいですか?私はタブを区切り文字として指定しようとしていました:cat myfile | column -t -s"\t"
回答: _column -t -s '\t' __\_およびt文字で列を区切ります。_column -s \t_は、バックスラッシュがシェルによって引用演算子として解釈されるため、_column -s t_と同じです。ここでは、実際のタブ文字を列に渡します。 ksh93、zsh、bash、mksh、busybox shまたはfreebsd shの場合:_column -ts $'\t' _または、実際のタブ文字を入力して入力します ctrl-v tab シェルプロンプトで(引用符内またはバックスラッシュを前に付けたタブ文字はスペースと同様にシェル構文のトークンセパレーターであるため)、または"$(printf '\t')"(split + glob演算子を無効にするために必要な二重引用符)を使用します。タブ文字もたまたまデフォルト値の_$ifs_)にあるからです。