Bash - 増分ファイル名に別の出力を書き込む方法

Bash - 増分ファイル名に別の出力を書き込む方法

ファイル名を増やして、スクリプトの複数の出力を独自のファイルに書き込もうとします。

INPUT="$1"

# while loop
while IFS= read -r -n1 char
do
        # display one character at a time
    echo "$char" > filename
done < "$INPUT"

増分カウントはありませんが、これは私がこれまでに行ったことです。スクリプトは一度に1文字ずつ印刷するため、それを独自のファイルに入れてファイルを上書きしないように、増分または英数字のファイル名を使用する必要があります。

ベストアンサー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"

おすすめ記事