【发布时间】:2014-07-07 11:16:28
【问题描述】:
我有一个像这样的文本文件a.txt:
1 1 a
2 b
4 4 d
现在我读取该文本文件并将其输入while 循环:
cat a.txt | while read k l o
do
echo " ${k} ${l} ${o} "
if [ "${k}" == "${l}" ]; then
echo " success ; X: ${k} Y : ${l} Z : ${o} "
else
echo " failed ; X: ${k} Y : ${l} Z : ${o} "
fi
done
在我的文本文件第 2 行第一个值为空。这就是我将 y 值放入 x 并将 z 值放入 y 的原因。
我怎样才能处理这样的空值并将所有值打印在正确的位置?
【问题讨论】:
-
您发布的问题令人难以理解,并且当问题实际上是关于 Linux shell 脚本时,还错误地标记了
PowerShell。这次我为你改写并重新格式化了这个问题。从现在开始,请在您的问题上投入更多的精力。如果您不关心自己的问题,为什么其他人会关心? -
您无法检查特定字段是否为空。如果所有 3 个字段都必须存在,那么您可以检查空字符串并打印错误。
-
请提供有关输入文件格式的更多信息。这些值是由制表符还是由给定数量的空格分隔的?
-
给定数量的值由制表符分隔