我正在尝试将脚本的多个输出写入到它们自己的文件中,并使用递增的文件名。
INPUT="$1"
# while loop
while IFS= read -r -n1 char
do
# display one character at a time
echo "$char" > filename
done < "$INPUT"
这就是我到目前为止所做的,尽管它没有增量计数。由于脚本一次打印一个字符,我需要将其放入自己的文件中,并使用增量或字母数字文件名,因此不会覆盖文件。
答案1
这将为每个字符串创建一个文件名加上增量。
input="$1"
counter=1
while IFS= read -r -n1 char; do
((counter++ <= ${#input} ))
echo "$char" > "filename$char$counter"
done < "$input"
要将输出打印到 stdout 和文件,请更改
echo "$char" > "filename$char$counter"
到
echo "filename$char$counter" | tee "filename$char$counter"
如果您需要解析字符串,则需要对输入进行更多测试,然后
< <(printf '%s' "$input")
代替
< "$input"