동일한 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는 하나의 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