相关疑难解决方法(0)

使用 bash read 逐个字符读取

我一直在尝试使用 bash 逐个字符地读取文件。

经过多次反复试验,我发现这是有效的:

exec 4<file.txt 
declare -i n
while read -r ch <&4; 
     n=0
     while [ ! $n -eq ${#ch} ]
           do  echo -n "${ch:$n:1}"
               (( n++ ))
          done
     echo "" 
     done
Run Code Online (Sandbox Code Playgroud)

即,我可以逐行读取它,然后逐个字符地遍历每一行。

在这样做之前,我曾尝试过: exec 4<file.txt && while read -r -n1 ch <&4; do; echo -n "$ch"; done 但它会跳过文件中的所有空格

你能解释一下为什么吗?有没有办法使第二个策略(即使用 bash 读取一个字符一个字符地读取)起作用?

bash readline

8
推荐指数
1
解决办法
2万
查看次数

标签 统计

bash ×1

readline ×1