Linux
如何使用 shell 腳本創建始終為 4 位順序編號和命名的文件
我正在嘗試在需要時創建多個帶有前導零的 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"