Задача довольно проста с помощью awk. Вот мой пример. Я создал два файла file-nm (для не пропущенных) и file-m (для отсутствующих) и каталог moved для файлов, которые мы хотим переместить.
awk '/@<TRIPOS>BOND/ {getline; if ($0 == "@<TRIPOS>SUBSTRUCTURE" ) system("mv \""FILENAME"\" moved")}' file-nm file-m
Здесь мы найдем строку @<TRIPOS>BOND, переходим к следующей строке и проверяем, является ли эта строка @<TRIPOS>SUBSTRUCTURE. Если это так, мы делаем системный вызов с «mv» FILENAME файла, который был найден, и «перемещен» в качестве адресата. Вот результат:
$ ls
file-m file-nm moved
$ awk '/@<TRIPOS>BOND/ {getline; if ($0 == "@<TRIPOS>SUBSTRUCTURE" ) system("mv \""FILENAME"\" moved")}' file-nm file-m
$ ls
file-nm moved
$ ls moved
file-m