abc-tab、abc-vib、h12-123、h12-498 などの名前に接頭辞が含まれる何千ものファイルを含む整理されていないディレクトリがあるとします。同じ接頭辞を持つファイルを独自のディレクトリに移動するにはどうすればよいですか?
私は次のようなものを使用することを考えていました
find . -path '*/support/*abc*' -exec mv "{}" /new/abc\;
ただし、これは、プレフィックスごとにコマンドを再入力する必要があることを意味します。
ls
およびですべてのプレフィックスuniq
を取得して 1 つのリストを取得し、for ループを使用してファイルを移動します。
for F in $(ls | cut -d- -f1 | uniq); do
mkdir "${F}" && mv "${F}"-* "${F}"
done
多くの人がAdvanced Bash Scripting Guideからシェル スクリプトを学びます。これらのプログラムの詳細については、cut
およびuniq
man ページを参照してください。