14

エントリのリストをbashでフォーマットしようとしており、columnコマンドを使用しています。ただし、この-tオプションはデフォルトで区切り文字として空白を使用します。これは、私が持っているデータ(スペースとタブが含まれている)では機能しません。-s唯一の列区切り文字として改行文字を指定するフラグを取得する方法がわかりません。

4

2 に答える 2

13

$'...'理論的には、改行を指定するには、次の表記法を使用できます。これは'...'、C スタイルのエスケープ シーケンスをサポートする点を除いて、まったく同じです。

column -t -s $'\n' list-of-entries.txt

しかし、私はこれの目的をよく理解していません。改行は行区切り文字であるため、列区切り文字は列区切り文字$'\n'をまったく持たないことと同じです。

column -t -s '' list-of-entries.txt

これは、入力が 1 つの列のみを持つものとして扱われることを意味します。したがって、まったく使用しないのと同じcolumnです。

cat list-of-entries.txt

フラグの目的は、入力の各行が出力の1行になるようにすることであり、それがあなたが望むもののように聞こえないため、実際にはフラグを使用したくないようです。私はあなたがこれを望んでいると思います:-t-t

column list-of-entries.txt

の各行を、出力list-of-entries.txtするテーブルの 1 つのセルに入れる値として扱います。column

于 2012-08-26T23:27:19.203 に答える
6

これは、タブ区切りファイルのきれいな印刷バージョンを出力するために機能します

column -t -s $'\t' list-of-entries.txt
于 2012-12-20T01:34:45.100 に答える