Fan*_*oos 0 shell bash shell-script
我有一个包含大约 800 行的文件。所有行都包含 1 * 个字符。
我需要遍历文件中的行,所以我使用了以下简单的 for 循环
for i in $(cat file_path); do echo $i; done
Run Code Online (Sandbox Code Playgroud)
不幸的是它没有奏效。
当我尝试使用其他文件但文件中的行不包含 * 字符时,循环工作正常。
我该如何解决这个问题?
您的代码有一些问题:
您可以使用while循环修复它们:
while IFS= read -r line <&3; do
{ printf '%s\n' "$line"; } 3<&-
done 3< file
[ -z "$line" ] || printf %s "$line"
Run Code Online (Sandbox Code Playgroud)
请注意,在 POSIX shell中使用 while 循环处理文本文件被认为是不好的做法。
| 归档时间: |
|
| 查看次数: |
1539 次 |
| 最近记录: |