특정 확장자를 가진 디렉터리의 n번째 파일부터 시작하는 방법

특정 확장자를 가진 디렉터리의 n번째 파일부터 시작하는 방법

시작점이 매개변수인 n번째 ".pdf" 파일에서 실행을 시작해야 합니다. 호출할 때 rename.sh 2두 번째 파일에서 실행을 시작해야 합니다.

n=0
for file in *.pdf; do
   while [ $n -le $count ]; do
     filename=${file%$n*}.txt
     n=$(($n+1))
     echo $filename
   done
done

여기서 "count"는 디렉터리에 있는 .pdf 파일의 수입니다. 해당 디렉토리에 있는 파일은 다음과 같습니다 . one1.pdf,,,,,,,,,,,,two2.pdfthree3.pdf

답변1

드디어 해결했습니다. 정수 앞에 동일한 기본 이름이 있는 파일(예: text1.pdf, text2.pdf, text3.pdf)에 대해서만 작동합니다. n이 시작과 다른 경우 원하는 시작점이 될 때까지 n을 늘려야 합니다.

#!/bin/sh

start=$1
n=0
count=$(find . -type f -name "*.ppm" | wc -l)
for file in *.pdf; do
   if [ $n -eq "$start" ]; then
       while [ $n -le $count ]; do
          filename=${file%"$n"*}.txt
          n=$((n+1))
          start=$((start+1))
          echo "conversion of" $file to $filename
          break
       done
   else
       n=$((n+1))
   fi
done

관련 정보