Попробуйте следующее:
grep -f fileB fileA
Все строки из файлаA, которые есть в файлеB, будут отображаться на консоли.
Ваше регулярное выражение не соответствует шаблону в вашем имени файла. Чтобы сопоставить хотя бы одну цифру, вам необходимо использовать [0-9] +
(вы также можете использовать \ d
для сопоставления цифр); ваш шаблон будет соответствовать только 1 цифре. В вашем примере имени файла нет пробелов вокруг -
, но они есть в шаблоне. И вы ничего не делаете, чтобы удалить ]
в конце. Попробуйте:
rename 's/Galaxy\d+-\[(.*)\].*/$1/' Galaxy*