Есть ли лучший способ запустить команду повтора в терминале? - PullRequest
0 голосов
/ 23 марта 2020

Мне нужно запустить команду повтора с другим именем файла, чтобы получить заголовок. Тем не менее, мне нужно запустить каждый файл.

dfits *.fit | grep MSBTITLE

Есть ли какая-нибудь команда, я могу запустить несколько файлов и показать нужное имя файла и заголовок?

1 Ответ

0 голосов
/ 23 марта 2020

grep не знает имя файла, поэтому вы видите только совпадающие строки, но не знаете, из какого файла они исходили. Я бы в вашем случае написал явное l oop:

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

Поскольку dfits уже скрывает имя файла в его выводе, мы сохраняем вывод из grep в переменную, и если есть соответствовать, выведите эту строку вместе с именем файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...