Linux

如何使用 shell 腳本創建始終為 4 位順序編號和命名的文件

  • January 22, 2020

我正在嘗試在需要時創建多個帶有前導零的 4 位數字名稱的 *.txt 文件。當達到 MAX 變數時,腳本需要停止。這是使用 /bin/sh (不是 bash),但非常感謝任何幫助。

#!/bin/sh
NUMBER=0001
MAX=0011
NUMBERFILE=$NUMBER".txt"
while [ $NUMBER -lt $MAX ]; do
   printf "\n$NUMBERFILE"
   # touch $NUMBERFILE
   NUMBER=$(( NUMBER+0001 ))
   NUMBERFILE=$NUMBER".txt"
done
printf "\n\nFINISHED!\n\n"

此程式碼不需要 shell 中的任何外部工具,如果您想要外部工具,那麼可以,seq 就是答案!

#!/bin/sh

NUMBER=1
MAX=11
while [ $NUMBER -lt $MAX ]; do
 file=$(printf '%04d.%s\n' "$NUMBER" "txt")
 printf '%s\n' "Creating" "$file"
 touch "$file" 
 NUMBER=$(( NUMBER+1 ))
done
printf "\n\nFINISHED!\n\n"

>如果您只想創建一個空文件,可以將觸摸替換為。

#!/bin/sh

MIN=1
MAX=11
PADDING=4

for i in $(seq -f "%0${PADDING}g" $MIN $MAX); do
 file=${i}.txt
 printf "$file\n"
 touch $file
done

printf "\n\nFINISHED!\n\n"

引用自:https://unix.stackexchange.com/questions/563119