Si grep -nr sumthin *
en mi directorio de código fuente, también arroja líneas muy largas de archivos JavaScript o CSS minificados. Quiero obtener solo los primeros 80 caracteres por línea.
Por ejemplo, un regular grep
me da esto:
css/style.css:21: behavior: url("css/iepngfix.htc")
css/style-min.css:4:.arrow1{cursor:pointer;position:absolute;left:5px;bottom:10px;z-index:13;}.arrow2{cursor:pointer;position:absolute;right:5px;bottom:10px;z-index:13;}.calendarModule{z-index:100;}.calendarFooterContainer{height:25px;text-align:center;width:100%!important;z-index:15;position:relative;font-size:15px!important;padding:-2px 0 3px 0;clear:both!important;border-left:1px solid #CCC;border-right:1px ... etc.
pero me gustaría obtener esto en su lugar:
css/style.css:21: behavior: url("css/iepngfix.htc")
css/style-min.css:4:.arrow1{cursor:pointer;position:absolute;left:5px;bottom:
¿Qué comando de Linux puede hacer esto?
linux
command-line
bash
Nikki Erwin Ramirez
fuente
fuente
Respuestas:
Dios mío, me olvidé por completo
cut
!^ hace el truco! > _ <
fuente
git log --oneline --graph --color=always | cut -c -$COLUMNS
<file>:<linenumber>
salida degrep -n
).git log --oneline --graph --color=always | more
mostrará el gráfico interrumpido por el texto envuelto. i.imgur.com/X8G7SIV.pngless -S
es lo que desea.-S
es--chop-long-lines
. Básicamente, desactiva el ajuste de líneaAparte de lo
cut
que puede usarfold
(y en algunos casosfmt
).fold
Es parte delcoreutils
paquete.fold
no corta el texto restante, pero lo muestra en la siguiente línea.fuente
file:linenumber
prefijo de lagrep
salida es contiguo, para un fácil escaneo a simple vista.Si bien no es exactamente lo que desea hacer, puede usar
awk
para imprimir un cierto número de columnas. Puede especificar que el delimitador sea ":" en este caso.fuente