Почему ed поддерживает обратные ссылки, но не поддерживает чередование регулярных выражений?

Другой простой вариант — использовать comm; ему просто нужен отсортированный ввод, поэтому дайте ему чистый ввод, отфильтровав «действительные номера счетов» (вся строка состоит только из 9 цифр ), затем передайте канал для сортировки перед перенаправлением в новый файл:

grep -Ex '[[:digit:]]{9}' account.txt   | sort > account.txt.sorted
grep -Ex '[[:digit:]]{9}' customer.txt  | sort > customer.txt.sorted

... затем используйте comm, как вы указали:

{ echo 'Missing Account Number:'; comm -23 account.txt.sorted customer.txt.sorted; }

{ echo 'Extra Customer Number:'; comm -13 account.txt.sorted customer.txt.sorted; }

Данные выборки входных данных:

account.txt

garbage
876251251
716126181
888281211
666615211
666615211extra
787878787
111212134
extra

клиент.txt

garbage
876251251
876251251extra
716126181
792342108
792332668
666615211
760332429
791952441
676702288
junk

Результирующий вывод::

Missing Account Number:
111212134
787878787
888281211

Extra Customer Number:
676702288
760332429
791952441
792332668
792342108
1
08.12.2020, 22:07
0 ответов

Теги

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