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
結果をshuf
bash配列に保存し、パラメータ拡張で置換を使用して追加します$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"