特定の拡張子を持つディレクトリのn番目のファイルから始める方法

特定の拡張子を持つディレクトリのn番目のファイルから始める方法

始点がパラメーターであるn番目の「.pdf」ファイルで実行を開始する必要があります。呼び出すときは、rename.sh 22番目のファイルで実行を開始する必要があります。

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

関連情報