何百ものファイルがある Linux マシン上のディレクトリがあります。これらは比較的短いファイルであり、コマンド ラインで 1 ~ 2 秒で簡単に表示および読み取ることができます。「cat *」と入力するのと同様に、すべてのファイルをコマンドラインに自動的に出力する方法はありますか? 私はbashスクリプトを作成しようとしました:
cat $1
sleep 2
次に、「bash script.sh *」を呼び出しますが、ファイルの1つだけを印刷して停止します。助言がありますか?
for i in $(find /path/to/files -type f -name \*.\*); do
cat $i;
sleep 2;
done
これはうまくいくはずです:
find /path/to/files -type f
たとえば、焦点を当てたい特定の拡張機能がある場合は、次のようなことを試してください。
find /path/to/files -type f -name \*.cfg
ループするのではなく、すべてを find 内で行うことができます
find /path/to/files -type f -name \*.cfg -print -exec cat {} \; -exec sleep 2 \;
ケビンは頭から離れていないことを追加するために編集されました。 cat * は、多くのファイルを含む大きなフォルダーでは機能しない可能性があるとコメントしました。彼は、コメントを書いているときに削除したコメントに返信しました:)