我需要从第 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.pdf
。three3.pdf
答案1
我终于解决了。它仅适用于整数之前具有相同基本名称的文件(例如text1.pdf、text2.pdf、text3.pdf)。如果n与start不同,我们需要增加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