2014-01-30 4 views
0

Итак, моя программа:оболочки Windows Script: Удаление информации с выхода Diff

#!/bin/bash 

OIFS="$IFS" 
IFS=$'\n' 

find teste1 -type f | while read -r firstResult 

do 

    find teste2 -type f | while read -r secondResult 

    do 

    firstName=${firstResult##*[/|\\]} 
    secondName=${secondResult##*[/|\\]} 

    if [[ "$(echo "$firstName" | tr [A-Z] [a-z])" == "$(echo "$secondName" | tr [A-Z] [a-z])" ]]; then 
     echo "$firstResult" "$secondResult" >> equal.lst 
    else 
     echo "$firstResult" "$secondResult" >> notEqual.lst 
    fi 

     if [[ $firstName == $secondName ]]; then 
     echo "$firstResult" "$secondResult" >> equal2.lst 
     fi 

    done 

done 

diff -2 equal.lst equal2.lst >> renamedFiles.lst 

У меня возникли некоторые трудности на «дифф» части, как выход на «renamedFiles.lst» показывает, что-то вроде:

3d2 < teste1 \ TESTE.pub teste2 \ TEstE.pub

8d6 < teste1 \ teStE2.xlsx teste2 \ testE2.xlsx

Итак, мой вопрос: как я могу удалить часть «3d2» и «8d6»? Есть ли способ сделать это? Я хотел создать отчет о различиях, и он был бы «чище», если бы у него не было этих чисел. Я знаю, почему цифры есть, но есть ли способ удалить его?

ответ

1

Используйте форматы линий, чтобы указать желаемый формат. Например:

diff -2 "--old-line-format=<%L" "--new-line-format=>%L" "--unchanged-line-format=" equal.lst equal2.lst 

Результатов в голом выходе, как:

>new line 
<old line 
+0

Хм, я попробовал свой путь, и читать о линии формате в Diff Man Странице но в любое время я на самом деле попробовать что-то с линией форматом, он просто выводит то, что будет выводиться, если у него не было «-2». Я имею в виду, что он выводит намного больше, чем я хотел. Он не выводит diff из первого файла во второй файл, он выводит diff из обоих из них в «renamedFiles» – Gabriel

+0

. Я делаю это в Linux здесь, поэтому я не знаю всех различий. Сообщает ли ваше сообщение 'diff' usag, что оно поддерживает форматы строк? –

+0

Что именно вы подразумеваете под этим? Извините, я совершенно новичок в этом. Кроме того, я использую Windows :) Не знаю, если это имеет значение для вас: P – Gabriel

Смежные вопросы