Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当循环跳过Unix Shell脚本中的最后记录时_Shell_Unix - Fatal编程技术网

当循环跳过Unix Shell脚本中的最后记录时

当循环跳过Unix Shell脚本中的最后记录时,shell,unix,Shell,Unix,在Unix shell中使用while循环读取文件。代码如下 while IFS=, read V1 V2 #Statement done<$FILE 当IFS=时,读取V1 V2 #声明 完成如果最后一行没有换行符(默认readterminator),则最后一行将返回false,循环将终止。处理此问题的常规方法是使用IFS=,将V1 V2 | |[-n“$V1”]作为而循环条件。。。或者只是确保您的文件是“有效”文件并包含最终换行符。(也可以使用read-r,除非您知道希望read解释

在Unix shell中使用while循环读取文件。代码如下

while IFS=, read V1 V2
#Statement
done<$FILE
当IFS=时,读取V1 V2
#声明

完成如果最后一行没有换行符(默认
read
terminator),则最后一行将返回
false
,循环将终止。处理此问题的常规方法是使用
IFS=,将V1 V2 | |[-n“$V1”]
作为
循环条件。。。或者只是确保您的文件是“有效”文件并包含最终换行符。(也可以使用
read-r
,除非您知道希望
read
解释反斜杠转义,而且您几乎肯定不希望这样做。)
–Etan Reisner

如果最后一行没有换行符(默认
读取
终止符),则最后一行将返回
false
,循环将终止。处理此问题的常规方法是使用
IFS=,将V1 V2 | |[-n“$V1”]
作为
循环条件。。。或者只是确保您的文件是“有效”文件并包含最终换行符。(也可以使用
read-r
,除非您知道希望
read
解释反斜杠转义,而且您几乎肯定不希望这样做。)
–Etan Reisner

是否有奇数记录?因为一次读取两个字段,目的是一行读取两个字段。除最后一行外,它在一行中正确读取2个字段。最后一行是否有换行符?如何添加换行符?是在最后一条记录之后按enter键的吗?如果是,则没有新行。如果最后一行没有新行(默认
read
terminator),则最后一行将返回
false
,循环将终止。处理此问题的常规方法是使用
IFS=,将V1 V2 | |[-n“$V1”]
作为
循环条件。。。或者只是确保您的文件是“有效”文件并包含最终换行符。(也可以使用
read-r
,除非你知道你想要
read
来解释反斜杠转义,而且你几乎肯定不想这样做。)记录的数量是奇数吗?因为一次读取两个字段,目的是一行读取两个字段。除最后一行外,它在一行中正确读取2个字段。最后一行是否有换行符?如何添加换行符?是在最后一条记录之后按enter键的吗?如果是,则没有新行。如果最后一行没有新行(默认
read
terminator),则最后一行将返回
false
,循环将终止。处理此问题的常规方法是使用
IFS=,将V1 V2 | |[-n“$V1”]
作为
循环条件。。。或者只是确保您的文件是“有效”文件并包含最终换行符。(也可以使用
read-r
,除非您知道希望
read
解释反斜杠转义,而且您几乎肯定不希望这样做。)