我将如何从文件中读入并回显每一行直到 EOF?
我已经尝试过这个:
FILE=/Users/<User>/Desktop/Names.txt
echo "################################"
while read p; do
echo $p
done < $FILE
Run Code Online (Sandbox Code Playgroud)
但是当我运行它时,输出是这样的:
################################
{rtf1ansiansicpg1252cocoartf1265cocoasubrtf200
{fonttblf0fswissfcharset0 Helvetica;}
{colortbl;red255green255blue255;}
margl1440margr1440vieww10800viewh8400viewkind0
pardtx720tx1440tx2160tx2880tx3600tx4320tx5040tx5760tx6480tx7200tx7920tx8640pardirnatural
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?我该如何正确地做到这一点?
请改用此表格:
while IFS= read -r p; do
echo "$p"
done < "$file"
Run Code Online (Sandbox Code Playgroud)
IFS=make unset ,这样就不会发生单词分割、分割或修剪空格。IFSread-r防止反斜杠有意义。""可以防止分词。readarray另一种方法是使用或将行加载到数组中mapfile。这需要 Bash 4.0。请参阅地图文件。
readarray -t lines < "$file"
printf '%s\n' "${lines[@]}"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5685 次 |
| 最近记录: |