Eu quero armazenar uma matriz de algumas citações (basicamente, strings do mundo real com novas linhas) em um arquivo. Como posso alcançá-lo? Pensei em configurar o IFS para algo como “xxxxxxxxx74765xxx” (o que nunca ocorrerá nas minhas strings), mas é claro que o IFS só funciona para caracteres únicos.
Eu posso pensar em alguns truques feios para fazer isso (por exemplo, armazenar essa string sem sentido como uma linha entre os elementos, ler o arquivo linha por linha e verificar cada linha em relação a ela e reconstruir a matriz assim.), mas eu apreciarei um pouco mais opiniões experientes.
Apenas faça:
Para carregar:
(você também pode usar
typeset -p array
para salvar os atributos da variável array (exportado, único...)).Alternativamente:
Para carregar:
Para sua ideia de separador :
Para carregar:
(embora tenha cuidado, ele remove todos os caracteres de nova linha do último elemento da matriz e não funciona para uma matriz vazia).
As duas soluções portáteis (ksh, zsh, bash) AFAICT são:
E
Observe que a primeira solução criará uma variável local se usada dentro de uma função no bash.