File saya terdiri dari yang berikut ini; kurang lebih:
username:username:username:username:username
Baris di atas berlanjut hingga sekitar 600 karakter.
Saya menggunakan awk
perintah untuk menggunakannya sebagai argumen dalam permintaan API / HTTP yang dikirim dari baris perintah.
Saya menggunakan skrip untuk mendapatkan daftar akun pengguna yang 'mengikuti' saya, dan setiap 24 jam atau lebih, membandingkan daftar asli pada hard disk saya dengan daftar nama pengguna yang baru dikeluarkan (dan menyuarakan siapa yang tidak lagi mengikuti saya . Saya harus merangkum logika saya menjadi loop menggunakan bash .. menguji setiap nama pengguna.
Skrip saya saat ini:
user=$(awk -F: '{ print $1 }' FILE) # Grab $User to use as an argument.
following=$(exec CURRENT_FOLLOWERS) # Outputs the new file
echo "X amount of users are following you on 78B066B87AF16A412556458AC85EFEF66155"
SAVE CURRENT FOLLOWERS TO NEW A FILE.
if [[ DIFFERENCE IS DETECTED ]] ; then
echo -ne "$User NO LONGER FOLLOWING YOU\r"
else echo -ne "This user is following you still.\r"
fi
Pertanyaanku adalah;
Bagaimana saya bisa menampilkan perbedaan antara 2 file?
bash
command-line
awk
output
Ben
sumber
sumber
diff
kan?Jawaban:
Utilitas yang Anda cari adalah
diff
. Mengintip manual untuk detailnya.sumber
Diberikan dua file yang berisi daftar pengguna yang tidak disortir, mis
dan
lalu untuk mendapatkan daftar pengguna yang sederhana
file1
tetapi tidak difile2
, Anda bisa melakukannyadan juga untuk mendapatkan pengguna
file2
tetapi tidak difile1
Jika file daftar sudah diurutkan, ini dapat disederhanakan
comm -23 file1 file2
dancomm -13 file1 file2
masing - masing.sumber
comm
tanpa penyortiran? File teks saya memiliki nilai-nilai seperti1
,2
,01
,02
,0000
,0001
,0002
, dll Menggunakansort
akan de-semacam order ...Perintah terbaik untuk melihat perbedaan dalam isi file adalah
sumber
diff [options] from-file to-file
diff
membandingkan isi dari dua file dari-file dan ke-file. Anda dapat menentukan-i
opsi yang mengabaikan perubahan dalam kasus; pertimbangkan huruf besar dan kecil yang setara.Untuk informasi lebih lanjut, Anda dapat merujuk tautan ini: http://www.computerhope.com/unix/udiff.htm atau Anda dapat melihat di halaman manual.
sumber
Anda dapat mencoba jendela yang sama seperti
fc
perintah dalam perintah Unix dan Linux yaitudiff <file_new> <file_old>
.Garis dengan
+++
atau---
di depan mereka telah berubah dan satu tanpa+'s
atau-'s
belum berubahBaris dengan
-
tanda dihapus dari file baru namun ada dalam versi lamaBaris dengan
+
tanda ditambahkan dari dalam file baru namun mereka tidak ada dalam versi file yang lamaNotasi Linux
Penggunaan Linux
>
dan<
>
berarti baris dari file lama<
berarti baris dari file baru yang diubah dalam file lamasumber
Pergi untuk vimdiff untuk Menampilkan perbedaan antara dua, tiga atau empat versi file yang sama.
sumber