Linuxでは、コマンドライン出力をどのように切り捨てますか?


56

私ならばgrep -nr sumthin *、私のソースコードディレクトリで、それはまた、縮小さJavaScriptやCSSファイルからの非常に長い行を吐き出します。1行につき最初の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コマンドは何ですか?


「縮小」?どういう意味ですか?
-CarlF


ありがとう。正しいリンクはen.wikipedia.org/wiki/Minification_%28programming%29
CarlF

どちらのリンクも同じページにつながっています。
ビクター

回答:


80

OMG、私は完全に忘れていましたcut

grep -nr sumthin * | cut -c -80

^トリックをする!> _ <


4
エスケープシーケンスまたはカラーコードが関係する場合、これは機能しません。例えば取るgit log --oneline --graph --color=always | cut -c -$COLUMNS
badp

1
正確に80の表示文字で切り捨てられないことがわかりますが、それでも問題は解決します:行が折り返されないため、各行の先頭部分のみが表示されます(これは特定のユースケースで重要です。の<file>:<linenumber>出力を見ることができますgrep -n)。
ニッキアーウィンラミレス14年

1
長いコミットコメントは、切り捨てられていない場合、サンプルコマンドの出力を「ブレーク」します。git log --oneline --graph --color=always | more折り返されたテキストによって中断されたグラフを表示します。i.imgur.com/X8G7SIV.png
ニッキアーウィンラミレス

ええ、だからこそ、私はこの質問を
グーグルで

5
目的が単に視覚的に物事を見ることができるようにすることである場合(使用のために出力をどこかにリダイレクトしないこと)、それless -Sがあなたが望むものです。-Sです--chop-long-lines。基本的に、行の折り返しをオフにします
エントロピー

5

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残りのテキストは切り取りませんが、次の行に出力します。


このおかげで、これは将来役に立つかもしれません。私の場合、テキストを簡単にカットしたかったので、目で簡単にスキャンできるようfile:linenumberに、grep出力のプレフィックスは連続しています。
ニッキーアーウィンラミレス

1

正確に何をしたいかではありませんがawk、特定の数の列を印刷するために使用できます。この場合、区切り文字を「:」に指定できます。


ただし、特定の区切り文字はありません。ターミナルの1行に収まるように、特定の長さで出力を実際にカットしています。
ニッキーアーウィンラミレス

@Nikkiその後、カットはあなたが望むものです。同じことをするためにawkを使って巧妙なことができると確信していますが、実際にはカットが簡単です。^ _-
サルダトリオン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.