ディレクトリ内のディレクトリを除くすべてのファイルを連結したいとします。ディレクトリ内のファイルのみをどのように連結しますか?
私は、連結ファイルの行を取得するには
cat * | wc -l
を実行しようとしましたが、私はディレクトリを除外することができませんでした。
どうすればこの問題を解決できますか?
ディレクトリ内のディレクトリを除くすべてのファイルを連結したいとします。ディレクトリ内のファイルのみをどのように連結しますか?
私は、連結ファイルの行を取得するには
cat * | wc -l
を実行しようとしましたが、私はディレクトリを除外することができませんでした。
どうすればこの問題を解決できますか?
cat
は自動的にディレクトリをスキップするので、取得する番号はすでに正しいです。唯一のことは、あなたはそれがそれらをスキップ言ってますが、あなたは/dev/null
にそれらをリダイレクトすることができ、警告です。
cat * 2> /dev/null | wc -l
ありがとうございます。この行にディレクトリを指定する方法はありますか?たとえば、次の2行を1行にしたいと考えています。cd〜/ data/email/spam; cat * 2>/dev/null | wc -l – user6792790
また、 "2 *"をなぜ行ったのかよく分かりません。 – user6792790
'cat〜/ data/email/spam/* 2>/dev/null | wc -l'2はstderrのファイル記述子番号であり、変更しないでください –
あなたが見つける使用することができ、例えば:
find . -type f -maxdepth 0 | xargs cat| wc -l
誰かが別の場所で同じ質問をしました。ご覧ください:https://unix.stackexchange.com/questions/48492/list-only-regular-files-but-not-directories-in-current-directory – Erik