Jeśli grep -nr sumthin *
znajduję się w katalogu kodu źródłowego, wyrzuca także bardzo długie wiersze ze zminimalizowanych plików JavaScript lub CSS. Chcę uzyskać tylko pierwsze 80 znaków w wierszu.
Na przykład regularne grep
daje mi to:
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.
ale zamiast tego chciałbym uzyskać właśnie to:
css/style.css:21: behavior: url("css/iepngfix.htc")
css/style-min.css:4:.arrow1{cursor:pointer;position:absolute;left:5px;bottom:
Jakie polecenie Linuksa może to zrobić?
linux
command-line
bash
Nikki Erwin Ramirez
źródło
źródło
Odpowiedzi:
OMG, zupełnie zapomniałem
cut
!^ robi lewę! > _ <
źródło
git log --oneline --graph --color=always | cut -c -$COLUMNS
<file>:<linenumber>
wyjściowegrep -n
).git log --oneline --graph --color=always | more
pokaże wykres przerywany zawiniętym tekstem. i.imgur.com/X8G7SIV.pngless -S
jest to, czego chcesz.-S
jest--chop-long-lines
. Zasadniczo wyłącza owijanie liniiInne niż
cut
możesz użyćfold
(i w niektórych przypadkachfmt
).fold
jest częściącoreutils
pakietu.fold
nie wycina pozostałego tekstu, ale wyświetla go w następnym wierszu.źródło
file:linenumber
prefiksgrep
wyjścia jest ciągły, co ułatwia skanowanie okiem.Chociaż nie do końca to, co chcesz zrobić, możesz użyć
awk
do wydrukowania określonej liczby kolumn. W takim przypadku możesz określić separator jako „:”.źródło