2025/1/26 学習記録

## 現状：
エンジニアへの未経験転職。
就職先も決まり、2月からひよこエンジニアに。

2025年は頑張ろうということで、2025年学習記録17日目。

内容は常に書き散らしのメモです、あしからず。

当面の目標：LPIC101,102合格

# Linux

## `expand`コマンド

タブ区切りのテキストファイルを整形して表示するLinuxのコマンドラインツール。
ログファイルの整形やプログラムソースコードのインデント調整などに活用でき、デフォルトのタブ幅は8文字。

### 特徴

1. タブを空白に変換: ファイル内のタブ文字を指定した数の空白文字に置き換えます[1]。
2. データの整列: タブ区切りのデータを揃えて表示し、可読性を向上させます[1]。
3. 標準入力対応: ファイル名を指定せずに使用すると、標準入力からのデータを処理します[1]。
4. カスタマイズ可能: -tオプションを使用して、タブの幅や位置を指定できます[1][3]。
5. 行頭のみの変換: -iオプションを使用すると、行頭のタブ文字のみを変換します[1]。

### 使用例

1. 基本的な使用:
    
    ```bash
    expand file.txt
    # file.txt内のタブが8スペースに変換されて表示される
    ```
    
2. タブ幅の指定:
    
    ```bash
    expand -t 4 file.txt
    # タブを4スペースに変換
    ```
    
3. 複数のタブ位置の指定:
    
    ```bash
    expand -t 6,16 file1
    # 6列目と16列目にタブストップを設定
    ```
    
4. 行頭のタブのみ変換:
    
    ```bash
    expand -i file.txt
    # 各行の先頭にあるタブのみをスペースに変換
    ```
    
5. 標準入力からの変換:
    
    ```bash
    echo -e "No-1\\tTokyo\\t1354098" | expand
    # 標準入力からのデータを処理
    ```
    
6. 結果をファイルに保存:
    
    ```bash
    expand demo.txt > expanded.txt
    # 変換結果を新しいファイルに保存
    ```
    

### Citations:

[1] https://eng-entrance.com/linux-command-expand
[2] https://www.ibm.com/docs/ja/aix/7.2?topic=e-expand-command
[3] https://atmarkit.itmedia.co.jp/ait/articles/1611/02/news023.html
[4] https://linux.joho.info/command/expand/
[5] https://wa3.i-3-i.info/word11675.html
[6] https://learn.microsoft.com/ja-jp/windows-server/administration/windows-commands/expand
[7] https://captain-cocco.com/command-prompt-expand/
[8] https://www.ibm.com/docs/ja/zos/2.4.0?topic=descriptions-expand-expand-tabs-spaces


## `unexpand` コマンド

空白文字をタブ文字に変換するLinuxコマンド。

### 特徴

1. 機能: スペースをタブに置き換えます[1][2]。
2. 用途: ソースファイルの内容でスペースとタブを統一する際に使用されます[1]。
3. デフォルト動作: 行頭の8つの連続したスペースを1つのタブに変換します[1][2]。
4. カスタマイズ: -tオプションでタブ幅を変更できます[1][3]。
5. 全体変換: -aオプションを使用すると、行全体の空白をタブに変換します[1][2]。
6. 逆の操作: expandコマンドはunexpandの逆で、タブをスペースに変換します[1][3]。

### Citations:

[1] https://linuxcommand.net/unexpand/
[2] https://linux.command-ref.com/command-unexpand.html
[3] https://atmarkit.itmedia.co.jp/ait/articles/1611/02/news023.html
[4] https://linuc.org/docs/seminar/20230910_linuc1.pdf
[5] https://news.mynavi.jp/techplus/article/20180620-650001/
[6] https://wa3.i-3-i.info/word12123.html
[7] https://docs.oracle.com/cd/E19253-01/819-1210/6n3j74jv2/index.html
[8] https://linux.joho.info/command/unexpand/


## `fmt` コマンド

テキストを整形するためのLinuxコマンド。
文書の可読性の向上や、テキストエディタ内でのインラインを整形するテキスト整形ツール。

### 特徴

1. 行の折り返し: 長い行を指定した幅に折り返します。デフォルトの幅は72文字です[1][4]。
2. 短い行の結合: 短い行を結合して、指定した幅に近づけます[3]。
3. インデントの保持: テキストのインデントを維持します[4]。
4. メールヘッダーとnroff互換性: メールヘッダーや "." で始まる行は処理しません[4]。
5. 柔軟な入力: ファイル名を指定するか、標準入力からテキストを受け取ります[4]。

### オプション一覧

| オプション | 長いオプション | 説明 |
| --- | --- | --- |
| -c | --crown-margin | クラウンマージンモード。段落の最初の2行のインデントを保持し、後続行を2行目に合わせる |
| -s | --split-only | 行の分割のみを行い、短い行の連結は行わない |
| -w N | --width=N | 出力行の幅をN文字に指定する（デフォルトは72文字） |
| -p PREFIX | --prefix=PREFIX | PREFIXで始まる行だけを整形する |
| -u | --uniform-spacing | 単語間のスペースを1つに、文の間は2つのスペースに統一する |
| -t | --tagged-paragraph | 段落の最初の行をインデントする |
|  | --help | ヘルプメッセージを表示して終了する |
|  | --version | バージョン情報を表示して終了する |

### 使用例

```bash
echo '今日は良い天気です。散歩に行きましょう。' | fmt -w 10
```

この例では、テキストを10文字幅で折り返します[2]。

### Citations:

[1] https://zenn.dev/ring_belle/articles/go-fmt-lint-basic
[2] https://programming-tango.jp/vocabulary/9106/
[3] https://linuxcommand.net/fmt/
[4] https://docs.oracle.com/cd/E56342_01/html/E54074/fmt-1.html
[5] https://zenn.dev/mkosakana/articles/97466310534b4c
[6] https://www.ibm.com/docs/ja/aix/7.1?topic=f-fmt-command
[7] https://xtech.nikkei.com/it/article/COLUMN/20131226/527402/
[8] https://marusuke-blog.com/linux-comannd-fmt/

## `head`コマンド

ファイルの先頭部分を表示するLinuxコマンド。
ログファイルの確認やファイル内容の簡単なプレビューなど、様々な場面で活用できる。

### 特徴

1. デフォルトでファイルの先頭10行を表示します。
2. 表示する行数やバイト数を指定できます。
3. 複数のファイルを同時に処理できます。
4. 標準入力からのデータも処理可能です。

### オプション一覧

| オプション | 長いオプション | 説明 |
| --- | --- | --- |
| -c N | --bytes=N | 先頭からN バイト分表示する |
| -n N | --lines=N | 先頭からN 行分表示する |
| -q | --quiet, --silent | 複数ファイル指定時にファイル名のヘッダを表示しない |
| -v | --verbose | 常にファイル名のヘッダを表示する |
|  | --help | ヘルプメッセージを表示して終了する |
|  | --version | バージョン情報を表示して終了する |

### 使用例

1. ファイルの先頭10行を表示：
    
    ```bash
    head file.txt
    
    ```
    
2. ファイルの先頭5行を表示：
    
    ```bash
    head -n 5 file.txt
    
    ```
    
3. ファイルの先頭100バイトを表示：
    
    ```bash
    head -c 100 file.txt
    
    ```
    
4. 複数ファイルの先頭を表示（ファイル名を含む）：
    
    ```bash
    head -v file1.txt file2.txt
    
    ```
    
5. コマンド出力の先頭部分を表示：
    
    ```bash
    ls -l | head -n 3
    
    ```
    

### Citations:

[1] https://eng-entrance.com/linux-command-head
[2] https://www.ibm.com/docs/ja/aix/7.2?topic=h-head-command
[3] [https://e-words.jp/w/headコマンド.html](https://e-words.jp/w/head%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89.html)
[4] https://itpfdoc.hitachi.co.jp/manuals/3020/30203s3530/JPAS0251.HTM
[5] https://east-cloud.net/linux-head/
[6] https://blog.future.ad.jp/cmd_head
[7] https://bytes-box.com/command-head/
[8] https://armadillo.atmark-techno.com/blog/15288/10656


## `join`コマンド

2つのテキストファイルの内容を比較し、共通する項目がある行を連結するLinuxのツール。

### 特徴

1. 2つのファイルの共通項目を基に行を結合します。
2. デフォルトでは、各ファイルの先頭（左から1番目）の項目を比較に使用します。
3. 入力ファイルは事前にソートされている必要があります。
4. データベースのSQLのJOIN操作に似た機能を提供します。

### オプション一覧

| オプション | 長いオプション | 説明 |
| --- | --- | --- |
| -a FILENUM | --a=FILENUM | 指定したファイル（1または2）の全ての行を出力する |
| -e STRING | --empty=STRING | 空のフィールドをSTRINGで置き換える |
| -i | --ignore-case | 大文字小文字を区別せずに比較する |
| -j FIELD | --join-field=FIELD | 両方のファイルで指定したFIELDを結合キーとして使用する |
| -o FORMAT | --output=FORMAT | 出力フォーマットを指定する |
| -t CHAR | --field-separator=CHAR | フィールドの区切り文字を指定する |
| -v FILENUM | --unpaired=FILENUM | 指定したファイル（1または2）の一致しない行のみを出力する |
| -1 FIELD |  | ファイル1の結合に使用するフィールドを指定する |
| -2 FIELD |  | ファイル2の結合に使用するフィールドを指定する |
|  | --check-order | 入力が正しくソートされているか確認する |
|  | --nocheck-order | 入力のソート順を確認しない |
|  | --header | 各ファイルの1行目をヘッダとして扱う |
|  | --help | ヘルプメッセージを表示して終了する |
|  | --version | バージョン情報を表示して終了する |

### 使用方法

```bash
join [オプション] ファイル1 ファイル2
```

### Citations:

[1] https://atmarkit.itmedia.co.jp/ait/articles/1704/06/news025.html
[2] [https://wisteriasec.wordpress.com/2019/05/19/joinコマンドの使い方/](https://wisteriasec.wordpress.com/2019/05/19/join%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9/)
[3] https://yossi-note.com/how_to_join/
[4] https://qiita.com/motthy/items/c2c445417b677b56ac67
[5] https://eng-entrance.com/linux-command-join
[6] https://blog.caddare.com/autocad/line/join
[7] https://qiita.com/hirohiro77/items/f3847fd4ab1dc653f4ca
[8] https://linux.joho.info/command/join/


## `paste`コマンド

複数のファイルを行単位で連結するLinuxツール。
データファイルの結合や、CSVファイルの作成など、テキストデータの整形に使用される。

### 特徴

1. 最大12個のファイルの行を1つのファイルにマージできます[2]。
2. デフォルトでは、各ファイルの対応する行をタブ文字で区切って横に並べます[1]。
3. 出力結果は、Excelのような表計算ソフトで列に並べたような形になります[3]。
4. dオプションを使用して、タブ以外の区切り文字を指定することができます[1][3]。
5. sオプションを使用すると、ファイルの内容を行形式で並べることができます[3][4]。

### `paste`と`join`の違い

1. 結合方法:
    - paste: 単純に各ファイルの行を横に並べて結合する。
    - join: 指定した共通項目（キー）に基づいて行を結合する。
2. 入力ファイルの要件:
    - paste: 要件なし
    - join: 入力ファイルは事前にソートされている必要あり
3. 出力結果:
    - paste: 各ファイルの対応する行を単純に並べる。
    - join: SQLのJOIN操作に似た結果を生成し、共通項目を基に行を結合する。
4. 用途:
    - paste: 単純なデータの並列表示に適する。
    - join: データベース的な操作や、関連するデータの結合に適する。
5. オプション:
    - paste: 比較的シンプルなオプションセット。
    - join: より複雑で多様なオプションがあり、結合方法や出力形式を細かく制御できる。

### オプション一覧

| オプション | 長いオプション | 説明 |
| --- | --- | --- |
| -d LIST | --delimiters=LIST | 指定した区切り文字LISTを使用して結合する |
| -s | --serial | ファイル内のすべての行を1行に結合してから、複数のファイルを連結する |
|  | --help | ヘルプメッセージを表示して終了する |
|  | --version | バージョン情報を表示して終了する |

pasteコマンドは比較的シンプルなコマンドで、主要なオプションは-dと-sの2つ。

### Citations:

[1] https://atmarkit.itmedia.co.jp/ait/articles/1704/07/news018.html
[2] https://www.ibm.com/docs/ja/aix/7.1?topic=files-pasting-sections-text-paste-command
[3] https://linuxcommand.net/paste/
[4] https://www.ibm.com/docs/ja/aix/7.1?topic=p-paste-command
[5] https://eng-entrance.com/linux-command-paste
[6] https://dev.classmethod.jp/articles/creating-big-table-with-paste-command/
[7] https://itpfdoc.hitachi.co.jp/manuals/3021/30213b3220/0382.HTM
[8] https://www.linuxmaster.jp/linux_skill/2006/08/080paste.html


## `sort`コマンド

テキストファイルの内容を行単位で並び替えるLinuxツール。
ログファイルの解析やデータ処理タスクなど、様々な場面で活用できる。

### 特徴

1. ファイルの内容を行単位でソートします。
2. デフォルトではアルファベット順（辞書順）に並び替えます。
3. 数値、文字列、特定のフィールドなど、様々な基準でソートが可能です。
4. 結果は標準出力に表示されますが、リダイレクトを使用してファイルに保存することもできます。

### 使用方法

```bash
sort ファイル名
```

### オプション一覧

| オプション | 長いオプション | 説明 |
| --- | --- | --- |
| -b | --ignore-leading-blanks | 先頭の空白を無視してソート |
| -c | --check | ソート済みかチェックのみ行う |
| -C | --check=silent | -cと同じだが出力しない |
| -d | --dictionary-order | 英数字と空白のみを考慮 |
| -f | --ignore-case | 大文字小文字を区別せずにソート |
| -g | --general-numeric-sort | 一般的な数値としてソート |
| -h | --human-numeric-sort | 人間が読みやすい数値でソート (例: 2K, 1G) |
| -i | --ignore-nonprinting | 印字不可能文字を無視 |
| -k | --key | ソートキーを指定 |
| -m | --merge | すでにソート済みのファイルをマージ |
| -M | --month-sort | 月名でソート |
| -n | --numeric-sort | 文字列を数値として比較 |
| -o | --output | 結果を指定したファイルに出力 |
| -r | --reverse | 逆順にソート |
| -R | --random-sort | ランダムにソート |
| -s | --stable | 安定ソートを行う |
| -S | --buffer-size | メモリバッファサイズを指定 |
| -t | --field-separator | フィールド区切り文字を指定 |
| -T | --temporary-directory | 一時ファイルのディレクトリを指定 |
| -u | --unique | 重複行を除去 |
| -V | --version-sort | バージョン番号でソート |
| -z | --zero-terminated | 行の終端を改行ではなくNULL文字とする |
|  | --help | ヘルプメッセージを表示 |
|  | --version | バージョン情報を表示 |

### Citations:

[1] https://www.sejuku.net/blog/51174
[2] https://blackmagicdesign-creatorscom.jp/cmd-sort/
[3] https://eng-entrance.com/linux-command-sort
[4] https://learn.microsoft.com/ja-jp/windows-server/administration/windows-commands/sort
[5] https://atmarkit.itmedia.co.jp/ait/articles/1611/09/news020.html
[6] https://academy.gmocloud.com/wp/know/20210625/12063
[7] https://www.ibm.com/docs/ja/aix/7.2?topic=s-sort-command
[8] https://qiita.com/richmikan@github/items/cc4494359b1ac2f72311



## `nl`コマンド

テキストファイルや標準入力の内容に行番号を追加して出力するLinuxツール。

### 特徴

1. 入力ファイルまたは標準入力の各行に行番号を付加します[1][5]。
2. 出力は標準出力に書き込まれます[2]。
3. 論理ページセクション（ヘッダー、本文、フッター）に分けて処理することができます[1][3]。
4. 行番号の形式や表示方法をカスタマイズできます[5]。
5. 特定の条件に合う行のみに番号を付けることが可能です[5]。

### Citations:

[1] https://linuxcommand.net/nl/
[2] https://www.ibm.com/docs/ja/ssw_aix_72/osmanagement/cmd_number_lines.html
[3] https://www.ibm.com/docs/ja/aix/7.2?topic=n-nl-command
[4] https://docs.oracle.com/cd/E75431_01/html/E71065/nl-1.html
[5] https://atmarkit.itmedia.co.jp/ait/articles/1703/30/news024.html
[6] https://qiita.com/Carol_815/items/d1081ff7a7d3f9971edc
[7] https://www.infra-linux.com/menu-linux5/nl/
[8] https://qiita.com/Carol_815/items/5d73532b0386b5fd008d



## `od`コマンド

ファイルの内容を8進数や16進数などでダンプ（表示）するLinuxツール。
バイナリファイルの内容確認やデバッグ作業、ファイルの低レベルな内容の調査等に使用される。

### 特徴

1. バイナリファイルの内容を調べるのに使用されます。
2. デフォルトでは、ファイルの内容を8進数で表示します。
3. 表示形式は、16進数、10進数、ASCII文字など、様々なフォーマットに変更可能です。
4. 各行の先頭にファイルの先頭からのオフセット（位置）を表示します。
5. 表示開始位置と表示バイト数を指定して、ファイルの一部のみを表示することができます。
6. 1行あたりのデフォルト表示バイト数は16バイトです。

### オプション一覧

| オプション | 長いオプション | 説明 |
| --- | --- | --- |
| -A | --address-radix | ファイルオフセットの表示形式を指定 (o=8進数, x=16進数, d=10進数, n=非表示) |
| -b | --output-bytes | 1バイトごとの8進数で表示 |
| -c | --output-chars | ASCII文字として表示 |
| -d | --output-decimal | 2バイトごとの10進数で表示 |
| -f | --output-float | 浮動小数点数で表示 |
| -j | --skip-bytes | 指定したバイト数をスキップして表示を開始 |
| -N | --read-bytes | 指定したバイト数だけを出力 |
| -o | --output-octal | 2バイトごとの8進数で表示 |
| -S | --strings | 指定したバイト数以上の文字列を表示 |
| -t | --format | 出力フォーマットを指定 |
| -v | --output-duplicates | 重複行の省略をしない |
| -w | --width | 1行あたりの出力バイト数を指定 |
| -x | --output-hexadecimal | 2バイトごとの16進数で表示 |
|  | --help | ヘルプメッセージを表示 |
|  | --version | バージョン情報を表示 |

### Citations:

[1] https://atmarkit.itmedia.co.jp/ait/articles/1703/10/news027.html
[2] https://qiita.com/ss12345/items/c74bd22f0e9755658dda
[3] https://www.infra-linux.com/menu-lpic2/od-cmd/
[4] [https://e-words.jp/w/odコマンド.html](https://e-words.jp/w/od%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89.html)
[5] https://linux.joho.info/command/od/
[6] https://www.konosumi.net/entry/2021/06/20/222349
[7] https://www.ibm.com/docs/ja/aix/7.1?topic=o-od-command
[8] https://docs.oracle.com/cd/E19253-01/819-1210/6n3j74jrb/index.html
[9] https://linuxcommand.net/od/




## `pr`コマンド

テキストファイルを標準出力に書き出し、印刷用に整形するLinuxツール。

### 主な機能

1. ファイルの内容を標準出力に表示します[1]。
2. ページ番号、日付、時間、ファイル名を含むヘッダーを追加し、出力を複数ページに分割します[1]。
3. 複数の列でテキストを表示できます[3]。
4. ページあたりの行数を設定できます[3]。
5. 行番号を追加する機能があります[3]。
6. ヘッダーテキストをカスタマイズできます[3]。
7. 左マージンにスペースを追加できます[3]。

### オプション一覧

| オプション | 長いオプション | 説明 |
| --- | --- | --- |
| +PAGE |  | 指定したページ番号から表示を開始 |
| -COLUMN |  | 指定した列数で出力 |
| -a |  | -COLUMNと併用して列を横に出力 |
| -d |  | 出力をダブルスペースにする |
| -e[CHAR][GAP] |  | タブの代わりに指定した文字を使用 |
| -f |  | 改ページにフォームフィードを使用 |
| -h HEADER | --header=HEADER | ページヘッダーとして指定した文字列を使用 |
| -i[CHAR][GAP] |  | タブの代わりに指定した文字を使用（-eと同様） |
| -l LINE | --length=LINE | 1ページあたりの行数を指定（デフォルト66行） |
| -m | --merge | 指定したファイルを段組みにして出力 |
| -n[CHAR][WIDTH] | --number-lines[=CHAR][WIDTH] | 行番号を付加 |
| -o MARGIN | --indent=MARGIN | 左マージンを指定 |
| -r |  | エラーメッセージを表示しない |
| -s[CHAR] | --separator[=CHAR] | 列の区切り文字を指定（デフォルトはタブ） |
| -t |  | ヘッダーとフッターを省略 |
| -w WIDTH | --width=WIDTH | ページ幅を指定（デフォルト72文字） |
|  | --help | ヘルプメッセージを表示 |
|  | --version | バージョン情報を表示 |

### Citations:

[1] https://www.ibm.com/docs/ja/aix/7.1?topic=p-pr-command
[2] https://www.ibm.com/docs/ja/aix/7.1?topic=jobs-formatting-files-printing-pr-command
[3] https://marusuke-blog.com/linux-command-pr/
[4] https://ameblo.jp/supertomoking/entry-11151704604.html
[5] https://www.ibm.com/docs/ja/aix/7.2?topic=p-pr-command
[6] https://linux.joho.info/command/pr/
[7] http://una.soragoto.net/lecture/linux/text_cmd/pr.html
[8] https://linuxcommand.net/pr/


## `sed`コマンド

「stream editor」の略称で、テキスト処理を行うための強力なユーティリティ。
主にストリームエディタとして使用される。

### 特徴

1. テキストファイルや標準入力からデータを受け取り、行単位で処理します[1][3]。
2. 主な機能：
    - テキストの検索と置換
    - 行の削除
    - テキストの挿入や追加
    - パターンマッチングによる処理[1][4]
3. 正規表現をサポートしており、複雑なパターンマッチングが可能です[1]。
4. スクリプトファイルを使用して複数のコマンドを一度に実行できます[1]。
5. パイプラインと組み合わせて使用でき、他のコマンドと連携した処理が可能です[1]。
6. iオプションを使用すると、ファイルを直接編集（インプレース編集）できます[1]。

### オプション一覧

| オプション | 長いオプション | 説明 |
| --- | --- | --- |
| -e script | --expression=script | sedスクリプトの実行 |
| -f scriptfile | --file=scriptfile | scriptfileからsedスクリプトを実行 |
| -n | --quiet, --silent | パターンスペースの自動出力の抑制 |
|  | --debug | デバッグモード |
| -i[SUFFIX] | --in-place[=SUFFIX] | ファイルの直接編集とバックアップの作成 |
|  | --posix | GNU拡張の無効化 |
| -E, -r | --regexp-extended | EREの有効化 |
| -s | --separate | 入力ファイルを長いストリームではなく個別として扱う |
|  | --sandbox | サンドボックスモード(e/r/wコマンドの無効化) |
| -z | --null-data | NUL文字で行を区切る |
|  | --help | ヘルプメッセージの表示 |
|  | --version | バージョン情報の表示 |

### Citations:

[1] https://cloud5.jp/saitou-linux-sed/
[2] https://zenn.dev/peg/articles/72bde0980dde20
[3] https://tech-blog.rakus.co.jp/entry/20211022/sed
[4] https://xtech.nikkei.com/it/article/COLUMN/20060227/230879/
[5] https://atmarkit.itmedia.co.jp/ait/articles/1610/17/news015.html
[6] https://qiita.com/mooreyxia/items/55dcade73827643f1e62
[7] https://qiita.com/shunbaba/items/faf0cf2dbfd4e205e945
[8] https://www.gi.ce.t.kyoto-u.ac.jp/user/susaki/command/c_sed.html



## `split`コマンド

大きなファイルを複数の小さなファイルに分割するLinuxツール。

### 特徴

1. 大きすぎるファイルを扱いやすい大きさに分割できます[1]。
2. 分割方法を指定できます：
    - バイト単位での分割（-bオプション）
    - 行数単位での分割（-lオプション）[1]
3. 分割後のファイル名は、指定したベース名に文字や数字を付加して自動生成されます[1][3]。
4. デフォルトでは1000行ごとに分割されます[2]。
5. 出力ファイル名のサフィックス（付加される文字）の長さを指定できます（-aオプション）[1][2]。
6. 数字のサフィックスを使用することもできます（-dオプション）[1]。

### オプション一覧

| オプション | 長いオプション | 説明 |
| --- | --- | --- |
| -a N | --suffix-length=N | 分割後のファイル名に付けるサフィックスの長さを指定（デフォルトは2）[1][3] |
| -b SIZE | --bytes=SIZE | ファイルをバイト単位で分割[1][3] |
| -C SIZE | --line-bytes=SIZE | 1行のサイズを指定して分割[2] |
| -d | --numeric-suffixes | 分割ファイルの接尾辞を数字にする[2][5] |
| -e | --elide-empty-files | 空のファイルを作成しない[2] |
| -l NUMBER | --lines=NUMBER | 行数を指定してファイルを分割[1][3] |
| -n | --number=CHUNKS | 入力ファイルを指定した数に分割[2] |
| -t SEPARATOR |  | セパレータを指定して分割[2] |
| -x |  | 接尾辞を16進数にする[2] |
|  | --additional-suffix=SUFFIX | 接尾辞の後に追加の文字列を付与[7] |
|  | --filter=COMMAND | 分割したファイルに対してコマンドを実行[2] |
|  | --help | ヘルプメッセージを表示 |
|  | --version | バージョン情報を表示 |

### Citations:

[1] https://eng-entrance.com/linux-command-split
[2] https://itpfdoc.hitachi.co.jp/manuals/3021/3021313340/JPAS0352.HTM
[3] https://codezine.jp/unixdic/w/split
[4] https://www.infra-linux.com/menu-lpic2/split-cmd/
[5] https://atmarkit.itmedia.co.jp/ait/articles/1711/24/news016.html
[6] https://uxmilk.jp/8584
[7] https://www.ibm.com/docs/ja/aix/7.1?topic=s-split-command
[8] https://linuxcommand.net/split/



## `tr`コマンド

標準入力からの文字を変換または削除し、その結果を標準出力に書き出すUnixおよびUnix系システムのツール。

### 主な機能

1. 文字の置換：指定した文字を別の文字に変換します[2]。
2. 文字の削除：特定の文字を入力から削除します[1]。
3. 重複文字の圧縮：連続する同じ文字を1つにまとめます[3]。
4. 大文字と小文字の変換：アルファベットの大文字小文字を変換します[3]。

trコマンドの基本的な構文は以下の通りです：

```
tr [オプション] セット1 [セット2]
```

ここで、セット1は変換元の文字や文字列、セット2は変換先の文字や文字列を指定します[3]。

### オプション一覧

| オプション | 長いオプション | 説明 |
| --- | --- | --- |
| -c | --complement | 指定した文字セットの補集合を使用する |
| -d | --delete | 指定した文字を削除する |
| -s | --squeeze-repeats | 指定した文字の連続を1文字に圧縮する |
| -t | --truncate-set1 | 文字セット1を文字セット2の長さに切り詰める |
|  | --help | ヘルプメッセージを表示する |
|  | --version | バージョン情報を表示する |

### Citations:

[1] https://www.ibm.com/docs/ja/aix/7.1?topic=t-tr-command
[2] https://qiita.com/kojikaya/items/8ff7a1bc86326309a473
[3] https://www.infra-manual.com/trcommand-detail/
[4] https://linuxcommand.net/tr/
[5] [https://ja.wikipedia.org/wiki/Tr_(UNIX)](https://ja.wikipedia.org/wiki/Tr_(UNIX))
[6] https://www.infra-linux.com/menu-lpic2/tr-cmd/
[7] https://qiita.com/nagisa_O/items/1180abb9acc06aa115f0
[8] https://atmarkit.itmedia.co.jp/ait/articles/1610/03/news017.html
















---
### 今日はここまで！