0

そこで、現在のディレクトリ内のファイル数より 1 つ少ない数をカウントする簡単なコマンドを書きたいと思いました。このコマンドは近づいていますが、1つずれています。

ls | wc -l

bcこれを1 で減算できるようにパイプするにはどうすればよいですか?

ありがとう!

4

2 に答える 2

0

それは本当にあなたがしたいことではありません。find代わりに使用してください:

find . -maxdepth 1 -type f | wc -l

また、次の方法で隠しファイルを除外できます。

find . -maxdepth 1 -type f ! -name ".*" | wc -l

完全を期すために、次のような改行とスペースを含むファイルを処理できます。

find . -maxdepth 1 -type f -print0 | tr -dc '\0' | wc -c
于 2013-01-26T03:30:01.853 に答える
0

パイプするbcには、次のようなものを使用できます

echo " $(ls | wc -l) - 1 " | bc

編集: の部分$( )をスティーブの回答、または必要なその他のコマンドに置き換えます。

于 2013-01-26T03:41:22.987 に答える