同じIDを持つフォルダからxmlファイルを選択する必要があります。たとえば、という名前があります。
- S-000001-0-0.xml
- S-000001-0-1.xml
- S-000001-0-2.xml
- S-000001-0-3.xml
- S-000001-0-4.xml
- S-000002-0-0.xml
- S-000003-0-0.xml
XML 1〜5は1つのIDに属し、6と7は異なるIDに属します。私の要件は、1〜5種類のファイルを一緒に選択して新しいフォルダに移動することです。
答え1
あなたはそれを使用することができます全体的な状況このように:
mv S-000001-*.xml dir-to-move-to
答え2
for x in `ls S*.xml | egrep -o '[0-9]{6}' | sort | uniq`; do mkdir -p /tmp/$x; cp S-$x-* /tmp/$x/.; done
これにより、/ tmpにフォルダID(各ID用)が作成され、同じIDを持つすべてのファイルがそこにコピーされます。
テストが正常な場合cp
に置き換えることができます。mv
IDは6桁で、他の数字はすべて小さいと仮定します。
答え3
find /path/to/old/directory -name 'S-??????-?-?.xml' -type f -print0 | \
xargs -r0 mv -vt /path/to/new/directory