いくつかの引用符(デフォルトでは改行文字を含む実際の文字列)の配列をファイルに保存したいと思います。どのように実装できますか? IFSを「xxxxxxxxx74765xxx」(私の文字列には決して表示されません)のように設定しようとしましたが、もちろんIFSは単一文字でのみ機能します。
これを行うには、いくつかの醜いハッキングを考えることができます(たとえば、意味のない文字列を要素間に1行で保存し、ファイルを1行ずつ読み、各行を確認して配列を再構築します)。しかし、経験豊富なコメントに感謝します。
ベストアンサー1
ただし:
typeset array > file
負荷:
source file
(配列変数の属性(エクスポート、一意...)を保存するためにも使用できますtypeset -p array
。)
または:
print -rl -- ${(qq)array} > file
負荷:
eval "array=($(<file))"
あなたのため仕切りアイデア:
print -r -- ${(j[separator])array} > file
負荷:
array=("${(@s[separator])"$(<file)"}")
(しかし、配列の最後の要素からすべての末尾の改行文字を削除し、空の配列では機能しません。)