簡體   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