ls *.txt | wc
後でループで使用できるように、別の変数としてどのように使用できますか?それは
count.files=$(ls *.txt | wc)
...
if count.files -ne 2000; then
echo "message"
fi
試してみましたが、うまくいかないようです。
ベストアンサー1
コードにいくつかのエラーがあります。
- ほとんどのシェルでは、変数名にドットを含めることはできません。
- 旗を
wc
持って電話する必要があります-l
- 旗を
ls
持って電話する必要があります-d
- オプションの終わりを表示する
--
か、./
プレフィックスを使用する必要があります。ls
- テスト
if
に括弧がありません(ただし、スタック交換形式になる可能性があります)。 - ファイル名に改行文字が含まれている場合、この方法は機能しません。
- 隠しファイルは省略されます。
より良い作業例は次のとおりです。
file_count=$(ls -d ./*.txt | wc -l)
if [ $file_count -ne 2000 ]; then echo "message"; fi