3

abc-tab、abc-vib、h12-123、h12-498 などの名前に接頭辞が含まれる何千ものファイルを含む整理されていないディレクトリがあるとします。同じ接頭辞を持つファイルを独自のディレクトリに移動するにはどうすればよいですか?

私は次のようなものを使用することを考えていました

find . -path '*/support/*abc*' -exec mv "{}" /new/abc\;

ただし、これは、プレフィックスごとにコマンドを再入力する必要があることを意味します。

4

4 に答える 4

4

lsおよびですべてのプレフィックスuniqを取得して 1 つのリストを取得し、for ループを使用してファイルを移動します。

for F in $(ls | cut -d- -f1 | uniq); do
    mkdir "${F}" && mv "${F}"-* "${F}"
done

多くの人がAdvanced Bash Scripting Guideからシェル スクリプトを学びます。これらのプログラムの詳細については、cutおよびuniqman ページを参照してください。

于 2013-05-09T20:15:52.483 に答える