繁体   English   中英

在bash脚本中读取文件中的行

[英]Reading lines from a file in a bash script

我的脑袋撞到了我认为的某些语法墙上,我不确定到底出了什么问题。 我有一个bash脚本,该脚本曾经在较旧版本的Redhat上运行,但是由于某种原因,它不在我们的Linux服务器上运行。 无论如何,我都尝试更新,这就是我现在所拥有的...

每个评论建议已更新:

#!/bin/bash
while read -r line;
do
     echo "this is species no. $line";
done < "$1"

最终,我要做的就是将这些数字传递给R脚本,但是现在不管了。 它似乎不喜欢在脚本末尾传递文件(我在意外令牌“完成”附近收到“语法错误”。)但是,当我取出该文件时,它说“文件末尾意外”。怎么了

如果很重要,服务器将运行bash 4.2.25。

您的代码语法是完美的,尽管我可能会在其中放置IFS并删除冗余的分号。

我怀疑文件中的行尾导致了错误。 下面的脚本应该可以解决此问题……但是,要确定的最好方法是使用新的名称小的测试文件运行脚本。

while IFS= read -r line; do
    echo "$line"
done < <(sed 's/^M$//' "$1")

暂无
暂无

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

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