Estoy en Ubuntu y escribí cat .bash_history | grep gity regresó
El archivo binario (entrada estándar) coincide
Mi bash_historysí existe y hay muchas líneas que comienzan con git.
¿Qué causó la visualización de este error y cómo puedo solucionarlo?

file .bash_history(file ~/.bash_history)?.bash_history: dataRespuestas:
Presumiblemente, el archivo
.bash_historycomienza con datos que no son de texto, porgreplo tanto, trata el archivo como binario. Esto se confirma por lafile .bash_historysalida:Puede leer algunos bytes desde el principio para tener una vista conforme:
Aquí estoy leyendo primero 1 KiB.
Puede canalizar el STDOUT a
hexdump/odo similar.Como nota al margen,
greptoma los nombres de archivo como argumento, por lo quecates inútil aquí; solo haz:fuente
head -c1k .bash_historylea las primeras 38 líneas de mi archivo .bash_history. Todo era legiblegrep -a git .bash_history?-ahacer?-ahacegrepque el archivo sea tratado como binario.-ahacergrepprocesar un archivo binario como si fuera texto.Puedes usar
grep -a 'pattern'.de la página man grep :
fuente
-zbandera para que coincida en varias líneas.He visto esta pregunta hoy, porque tuve el mismo problema cuando quería agarrarme
.bash_history. (Pequeña nota: cambié el nombre de mi historial para que se creara uno nuevo. Este nuevo historial no se trató como un binario).En @heemayls answer se dice que
greptoma nombres de archivo ycatsería inútil. Esto no es enteramente verdad. Desdegrepla página de manual de s:Para que pueda usarlo
caty canalizarlogrep. Sin embargo, esto no resuelve el problema que.bash_historyse trata como un binario. Lo único correcto es usargrep -a(Me gusta en la respuesta de @AK_) ya seagrepel historial directamente o concatuna tubería.cat .bash_history | grep -a gito
grep -a git .bash_historyfuente