Se eu estiver grep -nr sumthin *
no meu diretório de código-fonte, ele também expelirá linhas muito longas de arquivos JavaScript ou CSS minificados. Quero obter apenas os primeiros 80 caracteres por linha.
Por exemplo, um regular grep
me dá o seguinte:
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.
mas eu gostaria de obter apenas isso:
css/style.css:21: behavior: url("css/iepngfix.htc")
css/style-min.css:4:.arrow1{cursor:pointer;position:absolute;left:5px;bottom:
Qual comando do Linux pode fazer isso?
linux
command-line
bash
Nikki Erwin Ramirez
fonte
fonte
Respostas:
OMG, eu esqueci totalmente
cut
!^ faz o truque! > _ <
fonte
git log --oneline --graph --color=always | cut -c -$COLUMNS
<file>:<linenumber>
saída degrep -n
).git log --oneline --graph --color=always | more
mostrará o gráfico interrompido pelo texto quebrado. i.imgur.com/X8G7SIV.pngless -S
é o que você deseja.-S
é--chop-long-lines
. Basicamente, desativa a quebra de linhaDiferente do que
cut
você pode usarfold
(e em alguns casosfmt
).fold
faz parte docoreutils
pacote.fold
não corta o texto restante, mas o exibe na próxima linha.fonte
file:linenumber
prefixo dagrep
saída seja contíguo, para facilitar a digitalização a olho nu.Embora não seja exatamente o que você deseja fazer, você pode usar
awk
para imprimir um certo número de colunas. Você pode especificar o delimitador como ":" neste caso.fonte