拡張子のない何百万ものファイルがあり、それらを別のフォルダにソートしたいと思います。 「ファイル」でファイルを識別できますが、手動で処理できるさまざまな種類が存在します。 「ファイル」の出力を使って「Word」をgrepしてから、「office」フォルダに移動したいと思います。単一のファイル形式に対して作成できますが、持っているすべてのファイル形式に対しては作成できません。それなら条件が足りません。私はシグウィンを使用しています。誰でもこれを行う方法を教えてもらえますか?ありがとうございます!
ピーター
ベストアンサー1
grep
代わりに、シェルケース構成で単純なパターンマッチングを使用できます。たとえば、
#!/bin/sh
for f in *; do
[ -f "$f" ] || continue
ftype="$(file -b -- "$f")"
case $ftype in
*"shell script"*)
echo mv -- "$f" scripts/
;;
*"C source"*|*"C++ source"*)
echo mv -- "$f" src/
;;
.
.
.
*) printf '%s: skipping unrecognized type "%s"\n' "$f" "$ftype" >&2
;;
esac
done
ターゲットディレクトリが存在する必要があります(ただし、条件を使用して作成するのは簡単ですmkdir -p
)。echo
正しいことをしていると確信している場合は、esを削除してください。