用两个变量bash中的两个或单个字符串拆分一行
我试图在bash中分离行的内容。我的代码是这样的用两个变量bash中的两个或单个字符串拆分一行,bash,shell,Bash,Shell,我试图在bash中分离行的内容。我的代码是这样的 while read line; do var1=${line% *} var2=${line#* } echo -e "var1[$var1] var2[$var2]" done < "shares.lst" 输出如下: var1[defaults] var2[data] var1[sample] var2[here] var1[okay] var2[okay] 当线路只有一条时,就会出现问题。我应该采取什
while read line; do
var1=${line% *}
var2=${line#* }
echo -e "var1[$var1] var2[$var2]"
done < "shares.lst"
输出如下:
var1[defaults] var2[data]
var1[sample] var2[here]
var1[okay] var2[okay]
当线路只有一条时,就会出现问题。我应该采取什么方法来检查变量是否只有一个?我认为您可以比较var1和var2是否相等,如果它们不相等,则返回您的结果。像
if ["$var1" != "$var2"]; then
echo -e "var1[$var1] var2[$var2]"
read
可以为您拆分:
while read var1 var2; do
echo -e "var1[$var1] var2[$var2]"
done < "shares.lst"
while read var1 var2; do
echo -e "var1[$var1] var2[$var2]"
done < "shares.lst"
var1[defaults] var2[data]
var1[sample] var2[here]
var1[okay] var2[]