The UNIX and Linux Forums  

Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
Google unix.com



Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
файл сравнения ... Помощь необходима. er_ashu UNIX для чайников Вопросы И Ответы 4 05-15-2008 10:37 PM
Сравнение Unix и Windows файл sysytem localp UNIX для чайников Вопросы И Ответы 1 04-11-2008 05:02 AM
Выходной формат - по сравнению с I / P файл velappangs Shell программирование и сценарии 1 04-03-2008 07:31 AM
файл сравнения сценарий tiger99 Shell программирование и сценарии 1 01-30-2008 10:47 AM
Файл Время Сравнение Вопрос pc9456 UNIX перспективных И опытных пользователей 2 07-23-2003 04:05 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 01-02-2008
net_shree net_shree is offline
Зарегистрированный пользователь
  
 

Регистрация: Декабрь 2007
Сообщений: 8
Сравнение файлов

Я для сравнения двух текстовых файлов, очень немногие из строк в этих файлах будут иметь некоторые различия в несколько столбцов.
Файлы размером в ГБ.
Пример строки ниже:
11111122222222333333aaaaaaaaaabbbbbbbbbccccccccdddddd
11111122222222333333aaaaaaaaaabbbbbbbbbccccccccddeddd

Так что эти две строки из file1 и file2, соответственно, я должен получить вторую строку в файл нового выходного файла, который представляет собой разницу файл.

То, что я хотел бы сделать, это прочитать LINE1 от file1 и цикл по всем направлениям в file2 и останавливаться, когда файл найден, остальное печати, что по линии выходного файла. И повторите те же действия для всех строк с file1.

Признательна за любую помощь в этом вопросе.
Old 01-02-2008
Джим Макнамара jim mcnamara is offline Forum Staff  
...@...
  
 

Регистрация: Февраль 2004
Местонахождение: Н. М.
Сообщения: 5805
Что вы подразумеваете под "стоп, когда файл найден", тогда вам дальше от file1 ....
Вы хотите на номер линии? Стоп, как правило, средства для выхода из следующего цикла.
Old 01-02-2008
net_shree net_shree is offline
Зарегистрированный пользователь
  
 

Регистрация: Декабрь 2007
Сообщений: 8
Да, я хочу, чтобы выйти из петли следующего матча, когда будет найден, я не хочу, чтобы проверить какие-либо еще, что линия.
Нет, я не нужен прямой номер.
Old 01-02-2008
dislusive dislusive is offline
Зарегистрированный пользователь
  
 

Регистрация: Январь 2008
Место проведения: Питтсбург, Пенсильвания
Сообщений: 2
Если я понимаю, что вы пытаетесь сделать правильно, здесь быстро Баш скрипт.


Код:
#!/bin/bash

compareFile = "/path/to/file/to/compare.txt"
outputFile = "/path/to/outputFile.txt"

for filename in /some/dir/of/text/files/*.txt; do 
        
        numlines=`cat $filename | wc -l`
                
        for i in `seq 1 $numlines`; do 
                current=`cat $filename | head -$i | tail -1` 
 
                grep -q "${current}" ${compareFile} 
 
                if [ $? != 0 ]; then
                         #doesn't exist, append to $outputFile
                        echo "${filename}:${current}" >> ${outputFile} 
                fi
        done 
done

Old 01-02-2008
net_shree net_shree is offline
Зарегистрированный пользователь
  
 

Регистрация: Декабрь 2007
Сообщений: 8
Привет, спасибо за быстрое решение и выглядит очень похоже, что я хочу.
Но я не могу запустить этот скрипт, я использую KSH.
Одна из ошибок, является "след: команда не найдена"
Old 01-02-2008
dislusive dislusive is offline
Зарегистрированный пользователь
  
 

Регистрация: Январь 2008
Место проведения: Питтсбург, Пенсильвания
Сообщений: 2
след, который (как правило, находится в / USR / BIN /)

Это индивидуальный исполняемых команд; должна быть частью из coreutils пакет, если вы используете Linux.

если он существует в вашей системе, изменять сценарий
след \u003d "/ путь / к / след"

то изменить в заявлении использовать переменные: Я в `$ () след ...
Old 01-02-2008
ghostdog74 ghostdog74 is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Sep 2006
Сообщений: 2557
Цитата:
Первоначально Послано dislusive View Post
Если я понимаю, что вы пытаетесь сделать правильно, здесь быстро Баш скрипт.


Код:
#!/bin/bash

compareFile = "/path/to/file/to/compare.txt"
outputFile = "/path/to/outputFile.txt"

for filename in /some/dir/of/text/files/*.txt; do 
        
        numlines=`cat $filename | wc -l`
                
        for i in `seq 1 $numlines`; do 
                current=`cat $filename | head -$i | tail -1` 
 
                grep -q "${current}" ${compareFile} 
 
                if [ $? != 0 ]; then
                         #doesn't exist, append to $outputFile
                        echo "${filename}:${current}" >> ${outputFile} 
                fi
        done 
done
Как отметил О. П., файлы находятся в ГБ. Я думаю, там будут какие-то показатели лага. только догадываться.
Также след не является стандартной командой, в некоторых * NIX OS. Поэтому, если вы хотите использовать петли, что петлю над борьбе, а в то время как цикл может быть использован вместо. например, в то время как [$ NUM-ле $ numlines]
Closed Thread

Закладки

Теги
Linux

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 03:43 AM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0