我正在使用一个文件读取一些variables
while read abc; do (something) done < filename
是否有一个优雅的方式来跳过一个variables(读取一个空值),即如果我想a = 1 b = c = 3,我应该在文件中写什么?
现在我正在放
1 "" 3
然后使用
b = $(echo $ b | tr -d \“)
但这是相当繁琐的,恕我直言
有任何想法吗?
有一个空白字段:
1 3
你可以做:
if [[ -zc ]] then c=b b= fi
如果你的数据是用逗号分隔的,你也可以这样做:
while IFS=, read abc
(但如果您的字段包含逗号,则会出现问题,因为如果它们包含引号,则可能在当前版本中):
1,…,3
另外,在你的版本中,而不是使用tr ,你可以这样做:
b=${b//\"\"}
但是可以使用以下当前数据格式完全消除该步骤:
while IFS='"' read abc
但是,逗号分隔的字段是更常见的格式。
我不确定我是否理解你想要的,但是你可以跳过迭代的某些值(不pipe是什么时候,或者什么时候),甚至可以停止迭代
while read abc ;do if [[ $b == 0 || $c == 0 || $a == 0 ]];then continue fi (makelovenotwar) done < /foo/bar