Saya sudah mencoba selama 30 menit terakhir untuk mendapatkan ini berfungsi dengan baik. grep
bukan hal yang paling sulit untuk digunakan, jadi saya agak bingung mengapa ini tidak berhasil.
File yang saya coba gunakan grep
pada file log XHTML sederhana. Nama mereka ada dalam format [email protected], meskipun saya pikir itu tidak penting, dan di dalamnya adalah XHTML sederhana.
Saya menyalin satu file log menjadi testfile
sehingga Anda dapat melihat output dari beberapa perintah dan mengapa membingungkan bagi saya:
[~/.chatlogs_windows/dec] > whoami
reid
[~/.chatlogs_windows/dec] > type grep
grep is /bin/grep
[~/.chatlogs_windows/dec] > uname -a
Linux reid-pc 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:32:27 UTC 2010 x86_64 GNU/Linux
[~/.chatlogs_windows/dec] > cat /etc/issue
Linux Mint 10 Julia
[~/.chatlogs_windows/dec] > ls -lh testfile
-rw-r--r-- 1 reid reid 63K 2011-01-10 12:45 testfile
[~/.chatlogs_windows/dec] > tail -3 testfile
</body>
</html>
[~/.chatlogs_windows/dec] > file testfile
testfile: XML document text
[~/.chatlogs_windows/dec] > grep html testfile
[~/.chatlogs_windows/dec] > grep body testfile
[~/.chatlogs_windows/dec] > grep "</html>" testfile
[~/.chatlogs_windows/dec] > grep "</body>" testfile
[~/.chatlogs_windows/dec] > cat testfile | grep html
[~/.chatlogs_windows/dec] > cat testfile | wc -l
231
[~/.chatlogs_windows/dec] > cat testfile | tail -3
</body>
</html>
[~/.chatlogs_windows/dec] > chmod a+rw testfile && ls -lh | grep testfile
-rw-rw-rw- 1 reid reid 63K 2011-01-10 12:45 testfile
[~/.chatlogs_windows/dec] > grep html testfile
Itulah yang saya coba lakukan. Saya hanya ingin menggunakan grep -ri query .
di ~/.chatlogs_windows
, yang biasanya berfungsi dengan baik untuk saya ... tetapi untuk beberapa alasan, itu benar-benar gagal melalui file-file ini.
Jika itu penting, saya menyalin file-file ini dari partisi Windows 7 saya. Tapi saya mengunyah mereka dan memberi saya semua izin yang sesuai, dan program lainnya (seperti cat
) tampaknya membacanya dengan baik. Saya juga menyalin file teks ke file teks unix dan mengkonversi akhir baris dan mencobanya, tetapi tidak berhasil juga.
Saya menggunakan zsh, tetapi saya mencobanya di bash dan gagal juga. Juga, grep bekerja secara normal: Saya mencobanya di folder dokumen saya dan berhasil dengan sempurna.
Jika Anda memerlukan informasi lebih lanjut, beri tahu saya. Saya mencoba googling, tetapi saya tidak menemukan alasan untuk grep untuk tidak bekerja. Terima kasih sebelumnya.
grep
panggilan, tunjukkan status keluar:echo $?
(ke samping:ls -Alh | grep testfile
lebih mudah ditulis / diketik sebagails -lh testfile
)Jawaban:
Alat grep tidak mengenali pengkodean file UTF-16.
sumber
iconv -f UTF-16 -t UTF-8 testfile > testfile_enc
untuk mengubahnya dan diuji dari sana. Akan lebih baik jika grep akan memberi tahu Anda tentang itu, alih-alih gagal secara diam-diam.