Wenn ich mich grep -nr sumthin *
in meinem Quellcodeverzeichnis befinde, werden auch sehr lange Zeilen aus minimierten JavaScript- oder CSS-Dateien ausgegeben. Ich möchte nur die ersten 80 Zeichen pro Zeile erhalten.
Ein Stammgast grep
gibt mir zum Beispiel Folgendes:
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.
aber ich möchte stattdessen genau das bekommen:
css/style.css:21: behavior: url("css/iepngfix.htc")
css/style-min.css:4:.arrow1{cursor:pointer;position:absolute;left:5px;bottom:
Welcher Linux-Befehl kann das?
linux
command-line
bash
Nikki Erwin Ramirez
quelle
quelle
Antworten:
OMG, das habe ich total vergessen
cut
!^ macht den Trick! > _ <
quelle
git log --oneline --graph --color=always | cut -c -$COLUMNS
<file>:<linenumber>
Ausgabe vongrep -n
) sehen.git log --oneline --graph --color=always | more
zeigt das Diagramm, das durch umbrochenen Text unterbrochen ist. i.imgur.com/X8G7SIV.pngless -S
ist es das, was Sie wollen.-S
ist--chop-long-lines
. Grundsätzlich wird der Zeilenumbruch deaktiviertAndere als
cut
Sie verwenden könnenfold
(und in einigen Fällenfmt
).fold
ist Teil descoreutils
Pakets.fold
nicht schneidet den restlichen Text, sondern gibt es in der nächsten Zeile.quelle
file:linenumber
Präfix dergrep
Ausgabe für ein einfaches Scannen mit dem Auge zusammenhängend ist.Obwohl dies nicht genau das ist, was Sie tun möchten, können Sie
awk
eine bestimmte Anzahl von Spalten drucken. In diesem Fall können Sie als Trennzeichen ":" angeben.quelle