列(1)は空の先行セルを除去する。修正できますか?

列(1)は空の先行セルを除去する。修正できますか?

この使い方を考えてくださいコラム(1):

column -s, -t <<CSV
a,b,c
,ee,ff
CSV

上記のコードスニペットは以下をエクスポートします。

a   b   c
ee  ff

しかし、私は次のようなものを見ることを期待しています。

a   b   c
    ee  ff

column2行目から先行スペース「セル」が削除されているようですが、私はそれを期待して維持したいと思います。

列の空白除去動作を無効にする方法はありますか?標準/推奨回避策提案がありますか?

使ってみようRS(1)しかし、このコマンドについて他に質問があります。rs(1) は、すべての出力を 1 行に出力します。入力配列の外観をコピーする方法は?

ベストアンサー1

使用幸せ(以前のPerl_6)

Rakuのモジュールが利用可能ですText::CSV。このモジュールはRFC-4180(およびRFC-4180 / RFC-7111)に準拠したファイルを出力します。言うまでもなく、空の先行セルは保存されます。以下に、さまざまな列区切り記号(タブ)を使用した出力デモを示します。

~$ raku -MText::CSV -e 'my @a = csv(in => $*IN); csv(in => @a, out => $*OUT, sep => "\t");'  file

入力例:

a,b,c
,ee,ff

出力例(タブ区切り):

a   b   c
    ee  ff

ファイルが大きい場合やCSVファイルを1行ずつ読みたい場合は、下記のリンクをご覧ください。

https://unix.stackexchange.com/a/722776/227738 https://github.com/Tux/CSV/blob/master/doc/Text-CSV.pdf
https://raku.org

おすすめ記事