これに対する答えはすでにあるかもしれません。しかし、私はそれを見つけることができませんでした。
私は持っています:
directory
directory/subdirectory/subdirectoryofsubdirectory
directory/sub-subdirectory/subdirectoryofsub-subdirectory/subdirectoryofsubdirectoryofsub-subdirectory
directory/sub-sub-subdirectory
directory/sub-sub-sub-subdirectory
すべてのディレクトリとサブディレクトリにはファイルが含まれています。私はそれらをすべてリストし、リストをcatにパイプし、リストをテキストファイルにパイプしたいと思います。 「一行」でこれを行うことはできますか?その場合はご提供ください。それともスクリプトが必要ですか?では、スクリプトにどのようなコマンド/構造が必要ですか?
ベストアンサー1
最良の選択はfind
コマンドだと思います。ディレクトリではなくリスト内のファイルのみを希望する場合は、次のようになります。
find directory/ -type f -print > textfile
find コマンドはファイルを再帰的にリストします。 (ディレクトリも一覧表示するには削除してください-type f
)。> textfile
catなしでstdoutをtextfileというファイルにリダイレクトします。
find
さまざまなオプションを備えた強力なツールです。man find
出力を少し調整する必要があることを確認してください。
修正する(ありがとうございます。wxya):
欲しいならコンテンツファイルを単一のテキストファイルにマージするには、次のいずれかの方法を使用します。
find Documents/ -type f -exec cat {} + > textfile