2013-11-27 24 views
7

各要素が改行で区切られるようにファイルに配列を書き込むにはどうすればよいですか?bash配列を改行でファイルに書き込む

以下は動作しません:

testa=(1 2 3) 
echo "${testa[@]}" > file.txt 

...私はこのためforループを書き込まないように希望 (現在の要素は、単一の行にスペースで区切られます)

答えて

14

使用printf代わりに:

printf "%s\n" "${testa[@]}" > file.txt 

cat file.txt 
1 
2 
3 
+1

ありがとうございます!うまく動作します:) –

+1

これも動作するはずです:echo -e "$ {testa [@]} \ n"> file.txt –

+3

@LuisMuñoz 'bash'にはありません。配列は '\ n'とは別に展開されるので、文字列に改行が1つだけ表示されます。 – chepner

関連する問題