Saya ingin menggunakan alat cli untuk perbandingan file dan perlu nomor baris sebelum jalur keluaran yang membantu saya bisa melompat ke perbedaan garis, karena saya menggunakan alat yang mengerti di mana harus melompat, jika garis dimulai seperti ini :line-number: regular line contents
Jadi saya mencoba diff
, dan membaca dokumentasi sepertinya mungkin:
-D, --ifdef=NAME output merged file with `#ifdef NAME' diffs
--GTYPE-group-format=GFMT format GTYPE input groups with GFMT
--line-format=LFMT format all input lines with LFMT
--LTYPE-line-format=LFMT format LTYPE input lines with LFMT
These format options provide fine-grained control over the output
of diff, generalizing -D/--ifdef.
LTYPE is `old', `new', or `unchanged'. GTYPE is LTYPE or `changed'.
GFMT (only) may contain:
%< lines from FILE1
%> lines from FILE2
%= lines common to FILE1 and FILE2
%[-][WIDTH][.[PREC]]{doxX}LETTER printf-style spec for LETTER
LETTERs are as follows for new group, lower case for old group:
F first line number
L last line number
N number of lines = L-F+1
E F-1
M L+1
%(A=B?T:E) if A equals B then T else E
LFMT (only) may contain:
%L contents of line
%l contents of line, excluding any trailing newline
%[-][WIDTH][.[PREC]]{doxX}n printf-style spec for input line number
Both GFMT and LFMT may contain:
%% %
%c'C' the single character C
%c'\OOO' the character with octal code OOO
C the character C (other characters represent themselves)
tetapi tidak ada contoh atau penjelasan tentang sakelar yang rumit ini.
Apakah mungkin untuk mendapatkan output seperti itu dari diff
? Kalau begitu bagaimana?
difflib
modul dengan file yang diindeks per baris dalam objek daftar) hanya yang tidak dapat saya gunakandiff <(pipe buffer1) <(pipe buffer2)
dengan Python, seperti yang saya rencanakandiff
. Sekarang Anda menyelamatkan saya :)