【问题标题】:while loop variable reading issuewhile循环变量读取问题
【发布时间】: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 个字段都必须存在,那么您可以检查空字符串并打印错误。
  • 请提供有关输入文件格式的更多信息。这些值是由制表符还是由给定数量的空格分隔的?
  • 给定数量的值由制表符分隔

标签: linux shell


【解决方案1】:

为什么不为空 x 值插入 0?
无论如何,您需要 3 个值.. /bin/sh 读取命令将第一个值分配给名字..

【讨论】:

    猜你喜欢
    • 2019-03-23
    • 2012-10-18
    • 2015-01-12
    • 2010-12-04
    • 1970-01-01
    • 2014-11-13
    • 2021-05-22
    • 1970-01-01
    • 2011-06-19
    相关资源
    最近更新 更多