numfmt: a tab between fields is kept, GNU prints a space
メンテナーはふだん 1 日以内に返信
評価
調査の方向性
まず numfmt の実装とそのテストを探してください。issue には特定のファイルや失敗しているテストは示されていません。デフォルトの空白区切りがフィールド間のタブをどのように扱うかを、GNU の出力と比較してください。非数値フィールドと先頭の空白も含めて確認します。フィールド間のタブがスペースとして出力され、先頭の空白の数と列挙されたオプションの動作が引き続き正しければ完了です。
索引モデルが issue の本文から書いたものです。
説明
With the default (whitespace) field delimiter, GNU numfmt writes every blank between fields as a space. uutils copies the original character, so a tab stays a tab.
$ printf '1\t2\n' | numfmt | od -c # GNU coreutils 9.12 (and 9.5)
0000000 1 2 \n
$ printf '1\t2\n' | coreutils numfmt | od -c
0000000 1 \t 2 \n
It doesn't depend on the other options: same with --to=si, --invalid=warn / ignore, and on lines whose fields aren't numbers (printf 'a\tb\n' | numfmt --invalid=ignore). Leading blanks keep their count in both (printf ' 1\t 2000\n' | numfmt → GNU 1 2000, uutils 1\t 2000).
Notes
uutils 0.12.0 and main @ 2fb77e8 vs GNU coreutils 9.12 built from source (Ubuntu's 9.5 behaves the same), Linux aarch64, LC_ALL=C. Found by a differential run with generated input (a tab inside a generated text line), not by flags: GNU's tests/numfmt/numfmt.pl has no case with a tab under the default delimiter, so the GNU test suite doesn't cover it.
De-dup: no issue or PR found for "numfmt tab", "numfmt whitespace", "numfmt delimiter", "numfmt invalid warn" (closest: #11935, scientific notation under --invalid, closed). Not in the #15254 flagdiff list (its numfmt rows are about option values: --from=a, --invalid=a, --from-unit=+5).
- 主要言語
- Rust
- スター
- 24.3k
- フォーク
- 2.1k
- 平均マージ
- 2日 28分
- マージ済み PR(30日)
- 313
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
uutils/coreutils のほかの issue
-
fmt -p: an unprefixed last line without a newline gets one added対応中かも @fixfon が 1 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
minorbug(mv): invalid mode errors not quoted対応中かも @henrimarconni が 5 日前に担当しました。 オープンU - mv
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
ptx: break file missing path in error message対応中かも @Franklin-Qi が 5 日前に担当しました。 オープンU - ptx
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
uutils/coreutils#15307 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
minorbug(stat): os errno not stripped when failing to flush stdout対応中かも @cestercian が 12 日前に担当しました。 オープンU - stat
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
uutils/coreutils#15200 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
stty: support B460800 and B921600 baud rates対応中かも @oech3 が 8 日前に担当しました。 オープンawaiting upstream U - stty
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
uutils/coreutils の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
rustls/rustls-platform-verifier#262 · コメント 2 件 · リアクション 2 件 ·
-
needs-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
bherbruck/solvecraft#4493 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
IngvarConsulting/unica#1911 ·
メンテナーはふだん 1 日以内に返信