2017-12-27 7 views
0

프로 시저를 스크립팅하려고하지만 실제로 멈추었습니다. 폴더에서쉘, 이름에 숫자가 포함 된 파일 표시 안 함

, 나는 일부 파일을 가지고 가정 해 봅시다 : 변수에

000001.dat 
000002.dat 
000003.dat 
000004.dat 
000005.dat 
000006.dat 
000007.dat 
000008.dat 
000009.dat 
000010.dat 

을, 나는>000009echo $num 있습니다. 내가하고 싶은 무엇 같은 중간 파일을 억제하는 것입니다 rm -f {000001..${num}}*를하지만, 내가 rm -f {000001..000009}*를 사용하는 경우, 작동

... 작동하지 않습니다! 그래서 나는 num 변수를 읽을 때 문제라고 생각합니다.

어떤 도움이 필요합니까? :) 미리 감사드립니다!

답변

0

방법 중 하나를 사용 평가 :

$ x=1;y=9 
$ echo {$x..$y} 
{1..9} 
$ eval echo {$x..$y} 
1 2 3 4 5 6 7 8 9 
+0

덕분에, 그것은 잘 작동합니다 :) '''RM은'평가 에코 {$ X .. $ y를}'''' – zackalucard

+0

행운, 그것은 당신을 위해 일했다면 . 중괄호 확장에서 맨 앞에 오는 0을 처리하는 것은 쉘에 따라 다를 수 있습니다. 'x = 000001; y = 000009; eval echo {$ x .. $ y}'bash에서'1 2 3 4 5 6 7 8 9'을 얻습니다. 하나 이상의 선행 0이 사용되면 ksh는 확장을하지 않습니다. ksh에서는'echo {1..9 % 06d} .dat'를 사용할 수 있습니다. – ULick