Я хочу написать сценарий bash, который копирует последнюю строку, содержащую определенную строку, из набора файлов с одинаковыми именами в новый файл.
Например, у меня есть три файла: 1abc1.txt, 2abc2.txt и 3abc3.txt. Из этих трех файлов я хочу извлечь последнюю строку, содержащую термин «pass», и записать эти извлеченные строки в новый файл с именем «AB C .txt».
Ниже приведен скрипт bash Я придумал: (pass. sh)
#!/bin/bash
grepline pass "$1" 1 > $2
Затем я выполнил следующую команду:
./pass.sh *abc*.txt ABC.txt
Но он не создает AB C .txt файл. Вместо этого он просматривает строку «pass» только в 1abc1.txt, а затем записывает вывод в 2abc2.txt.
Я предполагаю, что мое использование групповых символов при вводе команды неверно. Кто-нибудь может подсказать, как добиться того, что я хочу сделать со сценарием?