この文が真であれば、私のコードに構文エラーがあり、ファイルを移動できません。このコードは永遠に続きます。また、引用符を追加しようとしましたが失敗しました。私は愚かな間違いをすることを知っています。
for file in *.sort;
do if [`wc -l` $i -eq 57817];
then mv "$i" "../$i";
fi; done
どんな提案がありますか?
答え1
[
間にスペースがあるはずです。$i
未設定- コマンド置換には完全なコマンドは含まれません(
wc -l file
完全なコマンドなので、単にラップするだけですwc -l
)。 wc -l file
エラーの原因となった行番号とファイル名を出力します。wc -l <file
これを避けるために使用することができます
for file in *.sort; do
if [ "$(wc -l <"$file")" -eq 57817 ]; then
mv "$file" "../$file"
fi
done