Linux中文本处理工具之cut命令详解
<p><span><strong>前言</strong></span></p>
<p>
Cut 输入字符中指定的字段或指定的范围。若处理的是字段,则定界符隔开的即为各字段,而输出时字段也以给定的定界符隔开。默认的定界符为制表字符(TAB)。下面来看看详细的介绍吧。</p>
<p>
<span><strong>一、cut实战演练</strong></span></p>
<p>
<strong>cut.txt文件</strong></p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_368768">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">root,x,0,0,root,</code><code class="bash plain">/root</code><code class="bash plain">,</code><code class="bash plain">/bin/bash</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">daemon,x,1,1,daemon,</code><code class="bash plain">/usr/sbin</code><code class="bash plain">,</code><code class="bash plain">/usr/sbin/nologin</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">bin,x,2,2,bin,</code><code class="bash plain">/bin</code><code class="bash plain">,</code><code class="bash plain">/usr/sbin/nologin</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">sys,x,3,3,sys,</code><code class="bash plain">/dev</code><code class="bash plain">,</code><code class="bash plain">/usr/sbin/nologin</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<strong>实战演练</strong></p>
<p>
输出每一行的第二个字节内容</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_844569">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">> root@wing:~</code><code class="bash plain">/wing</code> <code class="bash comments"># cut -b 2 cut.txt </code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">> o</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">> a</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">> i</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain">> y</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">></code>
</div>
<div class="line number7 index6 alt2">
<code class="bash plain">></code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
输出每一行的第二个字符内容</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_613863">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">> root@wing:~</code><code class="bash plain">/wing</code> <code class="bash comments"># cut -c 2 cut.txt </code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">> o</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">> a</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">> i</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain">> y</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">></code>
</div>
<div class="line number7 index6 alt2">
<code class="bash plain">></code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
输出每一行第一列内容</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_393290">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">> root@wing:~</code><code class="bash plain">/wing</code> <code class="bash comments"># cut -d , -f 1 cut.txt </code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">> root</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">> daemon</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">> bin</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain">> sys</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">></code>
</div>
<div class="line number7 index6 alt2">
<code class="bash plain">></code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
输出每一行第一、二列内容</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_789885">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">> root@wing:~</code><code class="bash plain">/wing</code> <code class="bash comments"># cut -d , -f 1,2 cut.txt </code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">> root,x</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">> daemon,x</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">> bin,x</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain">> sys,x</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">></code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<span><strong>二、cut常用参数详解</strong></span></p>
<p>
-b,–bytes</p>
<p>
选取字节的列表,即选取每行的第N个字节。</p>
<p>
-c,–characters</p>
<p>
选取字符的列表,即选取每个的第N个字符。(英文字符下与-b没有区别,中文字符下,一个中文占据2-3个字节,所以存在中文的时候更倾向于用-c)。</p>
<p>
-d,–delimiter</p>
<p>
分隔符,默认为TAB。</p>
<p>
-f,–field</p>
<p>
选取列的列表,即选取每行的第N列。</p>
<p>
<span><strong>总结</strong></span></p>
<p>
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。</p>
頁:
[1]