seq - 無効な浮動小数点引数エラー

seq - 無効な浮動小数点引数エラー

1行に各数字が多い数字を含むファイルがあります。私の目標は、欠けている数字を見つけることです。すべての数値のシーケンスを生成しようとしています。seq

start=$(head -1 numbers.txt)
finish=$(tail -1 numbers.txt)
seq $start $finish > all_numbers.txt

次のエラーメッセージが表示されます。

seq: invalid floating point argument: 4106
Try 'seq --help' for more information.

4106は明らかに浮動小数点数ではないので混乱しています。

その後、diffを使用して欠落している数字を見つける予定です。 seqがなぜこのように動作するのか教えてくれる人はいますか?

ベストアンサー1

4106の後ろに隠された文字があるかもしれません。ファイルがMicrosoftの世界では、キャリッジリターンである可能性が高く、最初に削除する必要があります(またはで完全に完了する必要がありますawk)。

$ seq 1 $'2\r'
seq: invalid floating point argument: 2
Try `seq --help' for more information.
$ echo seq 1 $'2\r'
seq 1 2

そこにいるが、見ることはできない。端末に出力するとき(通常)カーソルを行の先頭に移動します。

ksh93、zsh、またはbashを使用して以下を試してください。

printf '<%q>\n' "$start"

何が含まれているかを確認してください。

おすすめ記事