【问题标题】:Is there a better way to run a repeat command in terminal?有没有更好的方法在终端中运行重复命令?
【发布时间】:2020-03-23 04:19:15
【问题描述】:

我需要使用不同的文件名运行重复命令来获取标题。 但是,我需要运行每个文件。

dfits *.fit | grep MSBTITLE

有什么命令可以运行多个文件并显示我需要的文件名和标题吗?

【问题讨论】:

  • 你的命令有什么问题?
  • 这是您在这里的第一个也是唯一一个问题,因此您可能不知道它是如何工作的。如果答案有帮助,我们总是感谢您选择投票。如果没有,也可以发表评论解释还需要什么。 欢迎来到 SO!

标签: shell command


【解决方案1】:

grep 不知道文件名,因此您只能看到匹配的行,而看不到它们最初来自哪个文件。在你的情况下,我会写一个显式循环:

for file in *.fit
do
  if titleline=$(dfits $file|grep MSBTITLE)
  then
    echo $file : $titleline 
  fi
done

由于dfits 已经在其输出中隐藏了文件名,我们将 grep 的输出存储到一个变量中,如果匹配,则将此行与文件名一起输出。

【讨论】:

    猜你喜欢
    • 2011-04-13
    • 2020-09-03
    • 1970-01-01
    • 2021-05-06
    • 2021-09-25
    • 1970-01-01
    • 2013-03-10
    • 2011-05-02
    • 2020-10-10
    相关资源
    最近更新 更多