Конвертировал словари Lingvo 11 из lsd в dsl формат. Работа рутинная, т.к. через GUI и по одному словарю. Все словари, и старые, и новые, лежат в одной папке. Проверил количество:
$ ls *.lsd | wc -l
77
$ ls *.dsl | wc -l
75
Понятно, что где-то ошибся, не доконвертировал. Всего там 230 файлов. Конечно, можно просмотреть внимательно, так сказать, вручную, какие именно пропустил, но хочется сделать через bash. И надежнее, да и для изучения.
Думаю сделать приблизительно так:
$ ls *.lsd > file1 # список оригинальных словарей
$ ls *.dsl > file2 # список сконвертированных словарей
$ cat file1 file2 > file3 # объединяем в один список; одинаковые записи дублируются
$ sort file3 | uniq -u # сортируем список и отсеиваем дублирующиеся записи
Наверняка, можно сделать и поизящнее, но это на один раз, думаю, сойдет. Единственное, не знаю, как избавиться от расширений файлов, т.к. в таком виде ничего не получится. Нужно что-то вроде этого:
$ ls *.lsd | (здесь нужна команда, отбрасывающая расширения файлов) > file1
Может быть есть какая-нибудь опция у команды ls, выводящая файлы без расширений, может быть нужно использовать awk (посмотрел справку - там слишком много опций, нужно сидеть и изучать), или еще что-нибудь?