エンプラ業務で手順書作ってる。
だるい。なんでこんな確認しなければならんのだ。
ということで、bashでできるコマンド一発で複数のファイルのエビデンスを取る方法をまとめてみた。
ファイルの一覧
特定階層のディレクトリ内ファイル一覧
ls -l [ディレクトリ名]
これ、ワイルドカードが使える。以下の場合、「2階層潜ったファイル全部」
ls -l */*/*
階層を横断したファイルの一覧
find .
ファイルだけ
find . -type f
ディレクトリだけ(treeよりも相当軽い!)
find . -type d
ファイル内容の表示
全ファイルの内容を全部表示する(特定階層だけ)
cat target/*
テキスト内容の先頭にファイル名をつけて出力する(特定階層だけ)
grep "" target/*
出力例)
ENTRY-1-1-00001.txt: ERROR-0001 よくあるエラー
ENTRY-1-4-00002.txt: ERROR-0001 よくあるエラー
ENTRY-1-4-00002.txt: ERROR-9999 ヤバいエラー
エンコーディングが異なる内容をUTF-8(コンソールでだいたい使っている文字コード)で出力
標準出力するコマンド | nkf -w
例えば Shift-JISのテキストファイルをUTF-8で出力
エンコーディングを自動で判断しているのがちょっと怖い。
Windowsからアップロードしてファイル名が化けてる困ったちゃんも、一応表示できる。
ls * | nkf -w