arrays - 数组中的空格和换行符(Shell脚本)
如何在数组中存储空格和换行符。请考虑以下是我的文件。
A.TXT:
this is file a.txt
for testing
and for checking
现在,我想在文件的每个元素中存储文件中的每个字符。喜欢' t'在arr [0],' h'在arr [1],' i'在arr [2],' s'在arr [3]和' '(空格)分别在arr [4]中。如果我打印像$ {a [*]}这样的数组内容,那么输出就是精确的文件内容。那么,有没有办法在数组中存储空格和换行符。
最佳答案:
1 个答案:
答案 0 :(得分:1)
您可以使用:
arr=()
while IFS= read -d '' -r -n1 c; do
arr =("$c")
done < file
-
read -n1
将使此循环按字符读取输入字符。 -
-d ''
会将分隔符设为null而不是换行符
读取每行中的前导或尾随空格需要 -
IFS=
。
验证强>
printf "%s" "${arr[@]}"
this is file a.txt
for testing
and for checking
本文经用户投稿或网站收集转载,如有侵权请联系本站。