我正在逐行迭代文件,并将每个单词放入数组中,这样做是有效的。但它也会捕获空行并将其作为数组中的一个项,如何跳过空行?
示例文件
Line 1
line 2
line 3
line 4
line 5
line 6
我的代碼
while read line ; do
myarray[$index]="$line"
index=$(($index+1))
done < $inputfile
可能的伪代码
while read line ; do
if (line != space);then
myarray[$index]="$line"
fi
index=$(($index+1))
done < $inputfile
cat
命令来配合grep
命令?直接使用grep -v "^$" "$inputfile"
不也可以吗? - go2null$file
应该在这里使用双引号。无法保证文件名不包含空格。 - pyrocrastyecho "\na\nb\n\nc"
可能会让人感到困惑,因为echo
默认情况下不处理控制字符(但这取决于你使用的是哪个echo
:shell 内置的还是$PATH
中找到的);由于我们正在谈论bash
,更好的例子是:printf '\na\nb\n\nc' | grep -v '^$'
(或等效地,... | grep '.'
)。 - michael