インデックスと値を持つシェルスクリプト内に配列があります。私はこの配列を印刷することができます。配列全体をテキストファイルに書き込むにはどうすればよいですか?私は現在やっている何をシェルスクリプト:最後の行だけでなく、forループの内容全体をファイルに書き出します。
はこれです:
for i in "${!array[@]}"; do
printf "%s\t%s\n" "$i" "${array[$i]}" >outfile
done
しかし、配列の最後の要素だけがoutfile
に存在しています。これをどうすれば解決できますか?私は後でこのコードで再びそれらをやっていないんだけど、彼らが必要だ -
for key in "${!array[@]}"; do
value=${array[$key]}
[[ $key = *[$'\t\n']* ]] && continue # security: disallow keys with tabs or newlines
[[ $value = *[$'\n']* ]] && continue # security: disallow values with newlines
printf "%s\t%s\n" "$i" "${array[$i]}"
done >outfile
注これらのチェック:
コードは正常に動作します。配列全体をファイルにリダイレクトするにはどうすればいいですか? – venkatsai
*何かを '>'でファイルにリダイレクトするのと同じ方法です。 –
私はそのように指示するとき、それは最後の値を格納するだけです。 – venkatsai