ファイル名を独自に印刷する方法

ファイル名を独自に印刷する方法

fooディレクトリには複数のファイル(100-1000)があります。各ファイル名を独自のコンテンツに追加したいと思います。私はforループが各ファイルにランダムな文字列を追加する問題を解決する必要があると思います。

for f in *; do printf "%10s \n" $(shuf -i 50-100 -n 50 -r) >> $f; done

混在したすべての数字にファイル名を追加して直接リンクするにはどうすればよいですか?

for f in *; do printf "%10s \n" $f $(shuf -i 50-100 -n 50 -r) >> $f; done

結果ファイル5:

5
67
89
69
...

予想される結果:

567
589
569
...

ベストアンサー1

結果をshufbash配列に保存し、パラメータ拡張で置換を使用して追加します$f

mapfile -t shuf < <(shuf -i 50-100 -n 50)
printf '%10s \n' "${shuf[@]/#/"$f"}" >>"$f"

zshの場合は、^パラメータ拡張を使用してください。

printf '%10s \n' "$f${(f)^"$(shuf -i 50-100 -n 50)"}" >> "$f"

おすすめ記事