해당 위치의 파일 이름에 1, 2, 3, 4 또는 5가 포함된 파일을 player00_0[1..5]*.*
의미하는 패턴과 일치하는 파일만 복사하려고 합니다 . [1..5]
소스 디렉토리에는 40K 파일이 있으므로 bash를 사용하여 globs
작업을 수행할 수 없습니다.
내 시도는 다음과 같습니다.
indir=playout40kem
outdir=visible5k
rsync -am --include='player00_01*.*' --include='player00_02*.*'
--include='player00_03*.*' --include='player00_04*.*'
--include='player00_05*.*' $indir/ $outdir
그런데 결과는모두파일이 복사됩니다. 이 필터링을 수행하는 올바른 방법은 무엇입니까?
답변1
~에서https://unix.stackexchange.com/a/582184/66602누락된 부분은 다음과 같습니다.
--exclude="*"
. 그것은 해야 한다따르다항목 include=
:
rsync -am --include='player00_01*.*' --include='player00_02*.*'
--include='player00_03*.*' --include='player00_04*.*'
--include='player00_05*.*' --exclude="*" $indir/ $outdir