CMD/BAT - [решено] сравнить строки в текстовых файлах
-
sov44
Re: CMD/BAT - [решено] сравнить строки в текстовых файлах
sov44, мне не «в лом», как предположил коллега greg zakharov. Но что там расписывать? Код прост, как пробка. Никаких конкретных вопросов по коду задано не было.
-
DJ Mogarych
Re: CMD/BAT - [решено] сравнить строки в текстовых файлах
Powershell:
Код:
Вывод допилите как вам нужно.
Код:
Код: Выделить всё
$a = & ffprobe -hide_banner -select_streams v -show_streams -v error -i "D:\Видео\1.mp4" |select-string codec_name,has_b_frames,pix_fmt
$b = & ffprobe -hide_banner -select_streams v -show_streams -v error -i "D:\Видео\2.mp4" |select-string codec_name,has_b_frames,pix_fmt
diff $a $bВывод допилите как вам нужно.
-
Konstantinkn
Re: CMD/BAT - [решено] сравнить строки в текстовых файлах
Спасибо всем за Ваши ответы.
Хочу вернуться к этой теме.
Я сделал bat-файл.
Код:
В файле result-of-checking.txt оказываются строки и из файла 2.txt, и из файла 1.txt.
Цитата:
***** 1.txt
33: time_base=1/90000
34: start_pts=0
35: start_time=0.000000
36: duration_ts=274777200
37: duration=3053.080000
38: bit_rate=1167100
39: max_bit_rate=N/A
***** 2.TXT
33: time_base=1/90000
34: start_pts=61200
35: start_time=0.680000
36: duration_ts=34682400
37: duration=385.360000
38: bit_rate=1103399
39: max_bit_rate=N/A
Я хочу, чтобы в файле result-of-checking.txt были строки только из файла 2.txt, те строки, которые отличаются от строк файла 1.txt. Как это сделать?
Хочу вернуться к этой теме.
Я сделал bat-файл.
Код:
Код: Выделить всё
ffprobe -v 32 -print_format default -show_format -show_streams -hide_banner 1.mp4 > 1.txt
ffprobe -v 32 -print_format default -show_format -show_streams -hide_banner 2.mp4 > 2.txt
fc /l /n 1.txt 2.txt > result-of-checking.txtВ файле result-of-checking.txt оказываются строки и из файла 2.txt, и из файла 1.txt.
Цитата:
***** 1.txt
33: time_base=1/90000
34: start_pts=0
35: start_time=0.000000
36: duration_ts=274777200
37: duration=3053.080000
38: bit_rate=1167100
39: max_bit_rate=N/A
***** 2.TXT
33: time_base=1/90000
34: start_pts=61200
35: start_time=0.680000
36: duration_ts=34682400
37: duration=385.360000
38: bit_rate=1103399
39: max_bit_rate=N/A
Я хочу, чтобы в файле result-of-checking.txt были строки только из файла 2.txt, те строки, которые отличаются от строк файла 1.txt. Как это сделать?
-
alpap
Re: CMD/BAT - [решено] сравнить строки в текстовых файлах
Вывод в 3.txt одинаковых строк из 1.txt и 2.txt
Код:
Вывод в 3.txt строк из 2.txt, которых нет в 1.txt
Код:
Общий
Код:
Код:
Код: Выделить всё
@echo off
>"3.txt" findstr /xlg:"2.txt" "1.txt"
pauseВывод в 3.txt строк из 2.txt, которых нет в 1.txt
Код:
Код: Выделить всё
@echo off
>"3.txt" findstr /vxlg:"1.txt" "2.txt"
pauseОбщий
Код:
Код: Выделить всё
@echo off
>>"3.txt" (
echo Этого нет в "1.txt"
findstr /vlg:"1.txt" "2.txt"
echo:
echo Этого нет в "2.txt"
findstr /vlg:"2.txt" "1.txt"
)
pause-
DJ Mogarych
Re: CMD/BAT - [решено] сравнить строки в текстовых файлах
Powershell
Код:
Код:
Код: Выделить всё
$a = & ffprobe -v 32 -print_format default -show_format -show_streams -hide_banner -i "C:\temp\1.mp4"
$b = & ffprobe -v 32 -print_format default -show_format -show_streams -hide_banner -i "C:\temp\2.mp4"
(diff $a $b |? SideIndicator -eq '=>').Inputobject |sort > C:\temp\result-of-checking.txt-
alpap
Re: CMD/BAT - [решено] сравнить строки в текстовых файлах
если на PowerShell, тогда по типу моего "Общий" на cmd
Код:
Код:
Код: Выделить всё
$file1 = 'C:\1.txt'
$file2 = 'C:\2.txt'
$fileZ = 'C:\3.txt'
$z = compare $(gc $file1) $(gc $file2)
"Этого нет в $file1" >> $fileZ
$z.where({$_.SideIndicator -eq '=>'}).InputObject >> $fileZ
"Этого нет в $file2" >> $fileZ
$z.where({$_.SideIndicator -eq '-
Konstantinkn
Re: CMD/BAT - [решено] сравнить строки в текстовых файлах
alpap, DJ Mogarych, спасибо. Принял к сведению.
Цитата alpap:
Вывод в 3.txt строк из 2.txt, которых нет в 1.txt
Код:
alpap, как сделать, чтобы строки в файлах 1.txt, 2.txt, 3.txt были пронумерованы?
Цитата alpap:
Вывод в 3.txt строк из 2.txt, которых нет в 1.txt
CMD/BAT - [решено] сравнить строки в текстовых файлах
Код:
Код: Выделить всё
@echo off
>"3.txt" findstr /vxlg:"1.txt" "2.txt"
pausealpap, как сделать, чтобы строки в файлах 1.txt, 2.txt, 3.txt были пронумерованы?
-
alpap
Re: CMD/BAT - [решено] сравнить строки в текстовых файлах
Цитата Konstantinkn:
чтобы строки в файлах 1.txt, 2.txt, 3.txt были пронумерованы?
только в "3.txt" и непосредственно найденные строки
Код:
иначе - использовать AkelPad, как я или другой "правильный" текстовый редактор
чтобы строки в файлах 1.txt, 2.txt, 3.txt были пронумерованы?
CMD/BAT - [решено] сравнить строки в текстовых файлах
только в "3.txt" и непосредственно найденные строки
Код:
Код: Выделить всё
@echo off
>>"3.txt" (
echo Этого нет в "1.txt"
findstr /nvlg:"1.txt" "2.txt"
echo:
echo Этого нет в "2.txt"
findstr /nvlg:"2.txt" "1.txt"
)
pauseиначе - использовать AkelPad, как я или другой "правильный" текстовый редактор
-
Konstantinkn