Saya melakukan hal yang sama dengan file (hapus semua tetapi kejadian yang sama ukuran + crc32), tetapi saya menggunakan skrip mewah untuk menyaring barang-barang.
Pertama-tama Anda dapat menggunakan sesuatu seperti word | sort | uniq
untuk menghasilkan daftar kata yang diurutkan untuk setiap file.
Saya kemudian akan menggunakan array asosiatif (seperti pada REXX), di mana
/* REXX */
used. = 0
do n = 1 to 10; call dofile; end
exit
dofile:
infile = n'.txt'; outfile = n'.out'
call stream infile, 'c', 'open read'
call stream outfile, 'c', 'open write replace'
do while lines(infile)
word = linein(infile)
/* remove the comment markers to make it case insensitive */
/* word = translate(word) */
if used.word = 0
then do; call lineout outfile, word; used.word = 1; end
end
call stream outfile, 'c', 'close'
call stream infile, 'c', 'close'
return
Skrip khusus ini menyimpan daftar semua kata yang digunakan dalam semua file. Bunyinya dalam file, dan lihat apakah kata itu sudah diketahui, atau harus dipelajari. Jika itu harus dipelajari, maka itu diingat, dan salinannya ditulis ke dalam file .out dari pelajaran yang dipelajari. Jadi, dalam contoh Anda, 'xyz' dipelajari dalam lessen 3, dan dalam 3.out , sementara ABC dipelajari dalam pelajaran 1, demikian juga dalam 1.out.
Jenis suka belajar bahasa.