![]() |
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь. |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| сравнить файлы | prashanth.spl | Shell программирование и сценарии | 0 | 06-18-2008 05:22 PM |
| сравнить файлы | danabo | Shell программирование и сценарии | 3 | 05-19-2008 01:09 PM |
| сравнить два файла | charandevu | Shell программирование и сценарии | 7 | 03-30-2008 04:20 PM |
| Сравнение двух файлов | penfold | Shell программирование и сценарии | 3 | 04-29-2005 12:04 AM |
| сравнить файлы и за | MizzGail | UNIX для чайников Вопросы И Ответы | 2 | 04-25-2003 02:34 PM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
Сравнение двух файлов
Мне нужно сравнить два файла:
В принципе у меня есть файл ввода fileA. , которые необходимо сравнить с fileB находиться в / ETC / LC / MBD directroy Оба файла в формате, как: abc01def: 10.80.11.123 Входной файл в формате: abc01mns: 10.80.11.1 dbc02mns: 10.80.11.2 fbc01mns: 10.80.11.3 rbc01mns: 10.80.11.4 tbc01mps: 10.80.11.5 abt05mns: 10.80.11.6 zbc11mys: 10.80.11.7 ttc01mns: 10.80.11.8 hbc05mns: 10.80.11.9 qbc01mns: 10.80.11.10 Итак, после сравнения скрипт скажет мне: Что было и что dupicate не дублировать. Спасибо |
|
||||
|
Спасибо.,
Этот подход работает, а что вы думаете: #! / BIN / KSH а читать myline делать CNT \u003d 0 а читать строки делать если [[ "$ myline" \u003d "$ строка"]] тогда ((НЦДЗ + 1 \u003d)) перерыв FI Готово <file1 если [[$ CNT-экв 0]] тогда Эхо "$ myline">> output.file FI Готово <file2 |
|
||||
|
Но проблема вот предположим, если я еще одну строку в файл, это не сравнить. Он сравнивает только точное соответствие номеров в каждом файле.
|
|
||||
|
Вы можете попробовать что-то сделать,
[Испытания не проводились] Код:
awk 'BEGIN{ while ( getline < "file_1" ) { arr[$0]++ } }{ if ( $0 in arr ) { printf "%s is duplicate\n", $0 } }' file_2
|
|
||||
|
В дифф команда кажется идеально подходит для этого. В частности:
Код:
diff -y file1 file2 |
|
||||
|
Попробуйте, результат будет храниться в архивах dup_file и no_dup_file:
Код:
awk 'NR==FNR{a[$0]=$0;next}
$0 in a {print $0 > "dup_file";next}
{print $0 > "no_dup_file"}
' fileA fileB
Привет |
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|