如果我grep -nr sumthin *
在我的源代码目录中,它还会从缩小的 JavaScript 或 CSS 文件中输出非常长的行。我只想获取每行的前 80 个字符。
例如,一个常客grep
给我这个:
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.
但我只想得到这个:
css/style.css:21: behavior: url("css/iepngfix.htc")
css/style-min.css:4:.arrow1{cursor:pointer;position:absolute;left:5px;bottom:
哪个 Linux 命令可以做到这一点?
答案1
天哪,我完全忘记了cut
!
grep -nr sumthin * | cut -c -80
^ 成功了!>_<
答案2
除此以外cut
您还可以使用fold
(在某些情况下fmt
)。
fold
是包的一部分coreutils
。
$ echo "some very long long long text" | fold -w 5 # fold on 5 chars per line
some
very
long
long
long
text
fold
没有切剩余的文本,但在下一行输出它。
答案3
虽然这不是您想要做的,但您可以使用它awk
来打印一定数量的列。在这种情况下,您可以将分隔符指定为“:”。