我正在尝试使用 bash 逐行读取文本文件,然后挑选出特定的行以存储在向量中。我正在使用的文本文件包含我想使用 cURL 从服务器下载的文件的名称。我感兴趣的每一行前面都有一个以 # 字符开头的描述行。我想逐行阅读文件,检查它是否包含#。如果所述行包含 # 则跳过它。对于那些不包含 # 我想使用该信息传递给 cURL 的行,以便我可以自动下载有问题的文件。到目前为止,我可以使用以下代码逐行阅读它。
#! /bin/bash
while read line; do
echo $line
done <file.txt
我尝试了以下方法,但它不起作用。
#! /bin/bash
while read line; do
if [[ "$line" =~ \#*]]
then
echo $line
fi
done <file.txt
我收到以下错误。
./script.sh: line 4: syntax error in conditional expression
./script.sh: line 5: syntax error near `then'
./script.sh: line 5: ` then '
我正在为 OS X 10.8.2 (x86_64-apple-darwin12) 使用 GNU bash 3.2.48(1)
我已经在其他地方看到过这个问题,这就是我提出尝试的地方。虽然,由于某种原因,它在我的机器上不起作用。