【问题标题】:How can I print the name of each file that is being assessed in a for loop (linux)如何打印在 for 循环中评估的每个文件的名称(linux)
【发布时间】:2020-02-21 01:04:54
【问题描述】:

我不太确定如何在 linux 的 for 循环中打印正在处理的文件名。我知道有人问过类似的问题,但我还没有成功调整任何建议的回答。

我正在尝试在文件中输入条目并输出文件名。每个条目由 4 行组成,这就是我除以 4 的原因。我可以通过以下方式轻松计算条目:

for i in *.gz; do expr $(cat $i | wc -l) / 4; done

但是如何输出文件名呢?

感谢您的帮助! 瑞恩

【问题讨论】:

  • 不就是:echo "$i"?
  • @kaylum 所说的......你实际运行的是打印你正在迭代的每个文件中的四分之一行,无论对 gzip 文件有什么意义......
  • 是的,我正在计算每四行迭代一次的东西。但是我应该在 for 循环的什么地方输入 echo "$i"?谢谢!
  • 你能编辑你的问题吗?就目前而言,这很令人困惑。
  • 当然,很抱歉!

标签: linux for-loop filenames


【解决方案1】:

这有帮助吗?

for i in *.gz
do 
  echo "$i"
  expr $(cat "$i" | wc -l) / 4
done

【讨论】:

  • 谢谢!这确实有帮助。我习惯于将 for 循环作为单行运行,但我在这样做时遇到了麻烦。看来我可以通过添加另一个分号来做到这一点。
  • 您确实可以,很高兴它对您有所帮助。 :)
猜你喜欢
  • 1970-01-01
  • 2020-05-01
  • 2020-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多