この使い方を考えてくださいコラム(1):
column -s, -t <<CSV
a,b,c
,ee,ff
CSV
上記のコードスニペットは以下をエクスポートします。
a b c
ee ff
しかし、私は次のようなものを見ることを期待しています。
a b c
ee ff
column
2行目から先行スペース「セル」が削除されているようですが、私はそれを期待して維持したいと思います。
列の空白除去動作を無効にする方法はありますか?標準/推奨回避策提案がありますか?
使ってみよう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