是否有更好的方法在终端中运行重复命令?

问题描述 投票:0回答:1

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

dfits *.fit | grep MSBTITLE

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

shell command
1个回答
0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.