Tidak mungkin (tanpa menggunakan meja besar) untuk membedakan kanji Jepang dari ideograf Han yang tidak digunakan dalam bahasa Jepang (misalnya, varian Cina atau Korea).
Jika Anda hanya ingin mendeteksi ideograf Han apa pun dalam rentang dasar (\ u4e00 hingga \ u9fff) maka mereka disandikan dalam 3 byte, byte pertama selalu antara 0xe4 dan 0xe9, byte kedua dan ketiga antara 0x80 dan 0xbf.
Ada dua kesulitan di sini, pertama Anda harus memberi tahu grep bahwa Anda ingin menjaga byte dan bukan karakter; maka Anda harus mengetik byte 0xe4, 0xe9, 0x80 dan 0xbf untuk menempatkannya dalam ekspresi regexp.
Saya menemukan saklar -P melakukan keduanya; dan garis yang Anda inginkan adalah:
grep -P "[\xe4-\xe9][\x80-\xbf][\x80-\xbf]"
dan jika Anda ingin kana juga:
grep -P "[\xe4-\xe9][\x80-\xbf][\x80-\xbf]|\xe3[\x81-\x83][\x80-\xbf]"