Как сравнить два (неопределенных) списка файлов и распечатать дубликаты?

У меня есть два списка файлов. backup.txt и backup2.txt Некоторые записи не точны, таким образом, это мешает находить дубликаты с diff или uniq.

Пример:

:::backup.txt:::
auser_backup
auser_backup2
buser_backup
cuser_backup

:::backup2.txt:::
auser.backup
auser.backup.2
buser
cuser

Я задавался вопросом, существует ли способ сравнить эти неопределенно подобные списки файлов, где auser_backup и auser.backup наряду с auser_backup2 и auser.backup.2 считался бы как дубликаты.

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

2
задан 7 October 2015 в 14:19

1 ответ

Вы оказываетесь перед необходимостью предварительно обрабатывать файлы для "зафиксированного" неисправностей:

fixfile() { sed -r 's/([[:alpha:]])([[:digit:]]+)$/\1.\2/; s/\./_/g' "$1"; }
comm -12 <(fixfile backup.txt | sort) <(fixfile backup2.txt | sort)
auser_backup
auser_backup_2
1
ответ дан 2 December 2019 в 05:09

Другие вопросы по тегам:

Похожие вопросы: