Как использовать регулярное выражение в имени файла во время сравнения в Баш? - PullRequest
0 голосов
/ 16 ноября 2018

Я пытаюсь различить два файла в bash:

$ diff file-1-random-name file-2-random-name

Это работает, теперь мне нужно сделать его более общим, потому что случайное имя всегда будет другим.

Я пробовал что-то вроде этого:

$ diff file-1-* file-2-*

Но для этого потребуется жестко закодированный * в имени файла. Как я могу использовать шаблон регулярного выражения (например, просто *) в имени файла, используя мою команду diff?

1 Ответ

0 голосов
/ 16 ноября 2018

Как правило, для таких вещей вы должны выполнить цикл, явный цикл в оболочке или цикл, скрытый внутри сценария, который вы написали и используете

В качестве простого решения вы можете адаптировать следующее: не проверять пропавшие файлы и т. Д.

for f1 in file-1* ; do
    f2=${f1/file-1/file-2}
    printf "Comparing %s with %s:\n" "$f1" "$f2"
    diff -options "$f1" "$f2"
done 

Выше мы использовали редактирование параметров, чтобы найти имя второго файла.

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