■ はじめに
ファイルを結合する必要がでてきたので、 catコマンド で簡単にできたので、メモしておく。
目次
【1】catコマンド 【2】使い方 1)閲覧 2)ファイル結合 3)空ファイルを作成する 【3】サンプル 例1:ファイル結合 例2:指定フォルダのテキストを全て結合するシェル 【4】cat関連のコマンド 1)tacコマンド 2)batコマンド
【1】catコマンド
* ファイルを連結して標準出力に出力する => 閲覧でも使える
【2】使い方
1)閲覧
cat [見たいファイルパス]
2)ファイル結合
cat [ファイル1] [ファイル2] ...
3)空ファイルを作成する
cat /dev/null > [出力する空ファイルパス]
https://www.koikikukan.com/archives/2014/11/20-005555.php
【3】サンプル
例1:ファイル結合
# 元データ1 $ cat cat1.txt Hello world1 Hello world2 # 元データ2 $ cat cat2.txt Hello world3 Hello world4 # 1)結合 $ cat cat1.txt cat2.txt Hello world1 Hello world2 Hello world3 Hello world4 # 2)結合したものをファイル出力 $ cat cat1.txt cat2.txt > result.txt # 出力ファイルを確認 $ cat result.txt Hello world1 Hello world2 Hello world3 Hello world4
例2:指定フォルダのテキストを全て結合するシェル
#!/bin/bash OUTPUT="./out.txt" # 空ファイル作成 # touch out.txt でもOK cat /dev/null > ${OUTPUT} for file in `ls ./cat/*.txt`; do cat ${OUTPUT} ${file} >> ${OUTPUT} done echo "Result is ..." cat ${OUTPUT}
出力結果例
$ ./cat.sh cat: ./out.txt: input file is output file cat: ./out.txt: input file is output file Result is ... Hello world1 Hello world2 Hello world3 Hello world4 Hello world5 Hello world6
【4】cat関連のコマンド
1)tacコマンド
https://dk521123.hatenablog.com/entry/2021/08/09/000000
より抜粋 * 入力の行で逆順にして出力する => 繰り返しの逆にする場合に利用 => catコマンドの逆だから「tac」コマンド
https://hydrocul.github.io/wiki/commands/tac.html
逆順の場合 (tacコマンドを利用)
for 変数 in 引数1 引数2 … do 処理 done | tac
2)batコマンド
* catコマンドの高機能コマンド
https://qiita.com/r12tkmt/items/a194dc61b76ddc92bdb7
インストール
https://github.com/sharkdp/bat#installation
sudo apt install bat
関連記事
大きいファイルを扱う際のコマンド
https://dk521123.hatenablog.com/entry/2020/06/12/000000
ファイルの内容を表示するコマンド
https://dk521123.hatenablog.com/entry/2016/08/08/235934
シェル ~ 基本編・ループ while / for etc ~
https://dk521123.hatenablog.com/entry/2021/08/09/000000
ファイルへの書き出し
https://dk521123.hatenablog.com/entry/2021/08/14/000000