hana_shinのLinux技術ブログ

Linuxの技術情報を掲載しています。特にネットワークをメインに掲載していきます。

数字の作り方



1 はじめに

数字の作り方についてまとめました。

2 検証環境

CentOS版数は次のとおりです。

[root@server ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

カーネル版数は以下のとおりです。

[root@server ~]# uname -r
3.10.0-1160.el7.x86_64

3 連続に出力する方法(seqコマンド)

3.1 昇順に出力する方法

1から5までを昇順に出力してみます。

[root@server ~]# seq 1 5
1
2
3
4
5

3.2 降順に出力する方法

5から1までを降順に出力してみます。

[root@server ~]# seq 5 -1 1
5
4
3
2
1

3.3 増加数を指定する方法

10から15まで、2ずつ増やしながら出力してみます。

[root@server ~]# seq 10 2 15
10
12
14

3.4 桁数をそろえる方法(-w)

先頭を0で埋めて、数字の桁数をそろえてみます。

[root@server ~]# seq -w 10
01
02
03
04
05
06
07
08
09
10

3.5 書式を指定する方法

[root@server ~]# seq -f '%02g' 1 3
01
02
03
[root@server ~]# seq -f 'file%02g.txt' 1 3
file01.txt
file02.txt
file03.txt

3.6 セパレータの使い方(-s)

セパレータのデフォルトは改行(\n)です。 まず、セパレータに,を指定してみます。

[root@server ~]# seq -s ',' 1 5
1,2,3,4,5

次に、セパレータに:を指定してみます。

[root@server ~]# seq -s ':' 15 -1 10
15:14:13:12:11:10

3.7 16進数を表示する方法

seqには16進数を表示すオプションがないようなので、printfコマンドを使って16進数を表示します。

[root@server ~]# seq 10 16|xargs printf '%x\n'
a
b
c
d
e
f
10

4 連続に出力する方法(echoコマンド)

1から5までを昇順に出力してみます。

[root@server ~]# echo {1..5}
1 2 3 4 5

10から1まで、3ずつ降順に出力してみます。

[root@server ~]# echo {10..1..3}
10 7 4 1

5 ランダムに出力する方法

5.1 shufコマンドを使う方法

[root@server ~]# shuf -i 1-5
2
1
3
4
5

5.2 ファイルの中身をランダムに並び替える方法

ファイルを作成します。

[root@server ~]#  seq 10 14 > test.txt

ファイルの中身をランダムに並び替えてみます。

[root@server ~]# shuf test.txt
11
13
14
12
10

5.3 16進数の数字をランダムに表示する方法

[root@server ~]# shuf -i 10-20|xargs printf '%x\n'
a
b
11
e
d
13
10
14
f
c
12

Z 参考情報

私が業務や記事執筆で参考にした書籍を以下のページに記載します。 Linux技術のスキルアップをしよう! - hana_shinのLinux技術ブログ