タグ付けされた質問 「numeric-data」

9
2つの数値の最小/最大を与えるUNIXコマンドはありますか?
から読み込む数値を制限するコマンドを探していましたstdin。 私はその目的のために小さなスクリプトを書きました(批評は歓迎します)が、この標準的なコマンド、単純な(と思う)一般的なユースケースがないのではないかと思いました。 最小 2つの数字を見つけるスクリプト: #!/bin/bash # $1 limit [ -z "$1" ] && { echo "Needs a limit as first argument." >&2; exit 1; } read number if [ "$number" -gt "$1" ]; then echo "$1" else echo "$number" fi


5
シェルスクリプトでプログラムのバージョンを比較する方法は?
gccバージョンを比較して、システムに最小バージョンがインストールされているかどうかを確認するとします。 gccバージョンを確認するために、以下を実行しました gcc --version | head -n1 | cut -d" " -f4 出力は 4.8.5 だから、私はifこのバージョンを他の値と照合する簡単なステートメントを書きました if [ "$(gcc --version | head -n1 | cut -d" " -f4)" -lt 5.0.0 ]; then echo "Less than 5.0.0" else echo "Greater than 5.0.0" fi しかし、それはエラーを投げます: [: integer expression expected: 4.8.5 比較に文字列を使用していて、-ltrequiresに整数が必要であるという私の間違いを理解しました。では、バージョンを比較する他の方法はありますか?

1
Bashが整数ではなく8進コードを解釈しないようにするにはどうすればよいですか?
私はHoroscope RSSスクリプトをUnix / Linuxプロジェクトのイントロとして書いていますが、授業後に留まることができたときに教授が解決できない問題に遭遇しました。実際の日付をチェック対象として使用する方法がわからなかったため、ユーザー入力にMMDD形式の標準的な数値を入力して基本的な算術を試してみると思いました。彼によると、スクリプトは入力を整数ではなく8進コードとして読み取っているようです。スクリプトのサンプルを次に示します。 elif [ "$olddate" -gt 1121 ] && [ "$olddate" -lt 1131 ] || [ "$olddate" -gt 1200 ] && [ "$olddate" -lt 1222 ] then echo "You are Sagittarius" exit elif [ "$olddate" -gt 1221 ] && [ "$olddate" -lt 1232 ] || [ "$olddate" -gt …

13
区切られたアイテムの単一行を数値的にソートするにはどうすればよいですか?
任意の文字で区切られた数字の行(または多くの行)があります。区切り文字を保持したまま、各行の項目を数値的に並べ替えるために使用できるUNIXツールは何ですか? 例は次のとおりです。 番号のリスト; 入力:10 50 23 42; ソート済み:10 23 42 50 IPアドレス; 入力:10.1.200.42; ソート済み:1.10.42.200 CSV; 入力:1,100,330,42; ソート済み:1,42,100,330 パイプ区切り; 入力:400|500|404; ソート済み:400|404|500 区切り文字は任意なので、選択した1文字の区切り文字を使用して、回答を自由に提供(または拡張)してください。

6
bashで16進数を逆にします
16進数を逆にする簡単なコマンドはありますか? たとえば、16進数を指定すると、次のようになります。 030201 出力は次のようになります。 010203 revコマンドを使用して、以下を取得します。 102030 更新 $ bash --version | head -n1 GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu) $ xxd -version xxd V1.10 27oct98 by Juergen Weigert $ rev --version rev from util-linux 2.20.1

3
16進数のBash拡張
16進数の桁数の組み合わせのすべての可能性を表示するためにbash展開を使用する方法があるかどうか知りたいのですが。バイナリで展開できます ベース2: echo {0..1}{0..1}{0..1} それは恩返しです: 000 001 010 011 100 101 110 111 ベース10: echo {0..9}{0..9} それは恩返しです: 00 01 02...99 しかし、16進数では: echo {0..F} 繰り返すだけ: {0..F}

2
comm:ファイルがソートされていません
以前commは2つのソート済みファイルを比較していました。これらのファイルの各行は正の整数です。しかし、結果は comm: file 1 is not in sorted order comm: file 2 is not in sorted order これらの2つのファイルがソートされている場合でも、エラーが発生するのはなぜですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.