繁体   English   中英

数组中的空格和换行符(Shell脚本)

[英]Space and Newline in Array(Shell script)

如何在数组中存储空间和换行符。 考虑以下是我的文件。

A.TXT:

this is file a.txt
for testing
and for checking

现在,我想将文件中的每个字符存储在数组的每个元素中。 分别类似于arr [0]中的“ t”,arr [1]中的“ h”,arr [2]中的“ i”,arr [3]中的“ s”和arr [4]中的“'(space)”。 而且,如果我打印$ {a [*]}之类的数组内容,则输出将是准确的文件内容。 因此,有什么方法可以在数组中存储空间和换行符。

您可以使用:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM