详解Shell cut用法

cut是以每一行为一个处理对象的,这种机制和sed一样。

cut接受三个定位方法:

1)byte: -b

2)characters: -c

3)fields: -d

eg:提取第3,4,5,9的字节: cut -b 3-5,9

注意:cut命令如果使用-b选项,执行时会先把-b后面所有的定位进行从小到大排序,然后再提取,不能颠倒顺序。

-3 表示从第一字节到第三字节;

3- 表示从第三字节到结尾。

对于中文提取,-c 会以字符为单位,输出正常;-b以字节(8位二进制)计算。

当遇到多字节字符时,使用-n选项,不会将多字节字符拆开。cut -nb 1,2,3

对于非固定格式信息,需要域。之前需要先设置间隔符,再提取第几个域。

cut -d : -f 1

-d设置间隔符为:,-f 1 为提取第一个域。

注意:如果遇到空格和制表符时,怎么辨认?

先检查这段空格是由空格组成还是制表符组成:

cat tab_space.txt
sed -n l tab_space,txt

如果是制表位(TAB),就会显示\t, 如果是空格,就会原样显示。(sed中n后面的l是小写的L)

cut -d 用什么符号表示制表符或空格?

cut -d 默认间隔为制表符,可以省略。若设置空格为间隔符,则 cut -d ' ' -f 4

(两个单引号中要有一个空格)

而且只能在-d 后面设置一个空格,不允许有多个空格。cut允许的间隔符是一个字符。

总结

以上所述是小编给大家介绍的Shell cut用法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • ShellExecute函数用法的实例代码

    复制代码 代码如下: #include<windows.h>#include<stdio.h>int main(){    //打开记事本   // ShellExecute(NULL, "open", "notepad.exe", NULL, NULL, SW_SHOWNORMAL);   //使用notepad.exe 打开指定文本,参数不要忘记加'\'   //ShellExecute(NULL, "open", &

  • shell字符截取命令之cut命令的实例详解

    shell字符截取命令之cut命令的实例详解 一 语法 cut [选项] 文件名 选项: -f 列号:提取第几列 -d 分隔符:按照指定分隔符分割列 二 实战 [root@localhost ~]# cat student.txt 1 furong F 85 2 fengj F 60 3 cang F 70 [root@localhost ~]# cut -f 2 student.txt furong fengj cang [root@localhost ~]# cut -f 2,4 stude

  • 一天一个shell命令 linux文本内容操作系列-cut命令详解

    说明: cut 按列切分文件,你可以指定分隔每列的定界符.在cut的术语中,每列都是一个字段,就是有时候说第一列,可能表述称第一个字段. 实战: 假设有文件data.txt,格式如下 NO    Name    Mark    Percent  1    Sarath    45    90  2    Alex    49    98  3    Anu    45    90 分隔符(定界符)为Tab 制表符 如果我要取得第二列,所有人的名称,有什么好的办法吗?此时cut该大显身手了. 1.

  • Stream、WshShell、WshUrlShortcut对象及Shell.Application的参数与使用

    Kafree收集整理 来源:论坛转载无法确定出处,如有版权问题请与我们联系 1.Stream对象 组件:"Adodb.Stream"  有下列方法:  Cancel 方法   使用方法如下   Object.Cancel   说明:取消执行挂起的异步 Execute 或 Open 方法的调用.  Close 方法   使用方法如下   Object.Close   :关闭对像  CopyTo 方法   使用方法如下   Object.CopyTo(destStream,[CharNum

  • 详解Shell cut用法

    cut是以每一行为一个处理对象的,这种机制和sed一样. cut接受三个定位方法: 1)byte: -b 2)characters: -c 3)fields: -d eg:提取第3,4,5,9的字节: cut -b 3-5,9 注意:cut命令如果使用-b选项,执行时会先把-b后面所有的定位进行从小到大排序,然后再提取,不能颠倒顺序. -3 表示从第一字节到第三字节: 3- 表示从第三字节到结尾. 对于中文提取,-c 会以字符为单位,输出正常:-b以字节(8位二进制)计算. 当遇到多字节字符时,

  • 详解shell 变量的高级用法示例

    变量删除和替换 案例:从头开始匹配,将符合最短的数据删除 (#) variable_1="I love you, Do you love me" echo $variable_1 variable_2=${variable_1#*ov} echo $variable_2 案例:从头开始匹配,将复合最短的数据删除(##) varible_3=${variable_1##*ov} echo $varible_3 案例:替换字符串,只替换第一次匹配成功的(/) echo $PATH var6

  • 详解Shell 脚本中 “$” 符号的多种用法

    通常情况下,在工作中用的最多的有如下几项: $0:Shell 的命令本身 1到9:表示 Shell 的第几个参数 $? :显示最后命令的执行情况 $#:传递到脚本的参数个数 $$:脚本运行的当前进程 ID 号 $*:以一个单字符串显示所有向脚本传递的参数 $!:后台运行的最后一个进程的 ID 号 $-:显示 Shell 使用的当前选项 ...... 今天将通过以上几种选项并做进一步的操作案例: 1.引用变量 引用变量时,使用 $ 符号直接来进行引用,以及包括循环变量: [root@localho

  • 详解Shell编程之变量数值计算(二)

    OK,数值运算(上)是我看完的一小部分,大概的结束脚本如下:(回顾~~) #!/bin/bash a=$1 b=$2 expr $1 + 1 &>/dev/null if [ "$?" -ne "0" ] then echo "请输入数字" exit 1 fi if [ "$#" -ne "2" ] then echo "请输入两个数字" exit 1 fi echo &q

  • 详解Shell编程之变量数值计算(一)

    如果要执行运算,那就少不了运算符,和其他的编程语言相似,shell也有很多的运算符如下: +.-.:代表着加号 和减号 或者,负号 *./.%:代表着乘号,除号,和取模. **   : 幂运算 ++.-- :表示着增加或者减少,它可以放在前置,也可以放在变量的结尾 !.||.&&.(取反)(或) (and) <.<=.>.>=  :比较符号,小于.小于等于.大于.大于等于 ==.!=.= :相等,不相等, =表示相等于 <<     >> 

  • 详解Linux重定向用法

    相信大家平时都会有需要复制粘贴数据的时候,如果是打开文件进行复制粘贴,就不可避免的需要较多的鼠标与键盘的操作,就会比较繁琐.那么有没有可以省掉这些繁琐操作的复制粘贴的方法呢? 答案是肯定的,那就是重定向.重定向是一种高效的方法,无需大量的鼠标与键盘操作就可以完成数据的转移.重定向可以分为输入重定向以及输出重定向这两种类型.由于所有程序都有输入或者输出,因此输入和输出的重定向是任何编程语言或脚本语言都自带的功能. 每当你与计算机交互时,重定向就必然会发生.学会使用重定向,不仅可以让你与计算机更好地

  • 详解Shell if else语句的具体使用方法

    和其它编程语言类似,Shell 也支持选择结构,并且有两种形式,分别是 if else 语句和 case in 语句.本节我们先介绍 if else 语句,case in 语句将会在<Shell case in>中介绍. 如果你已经熟悉了C语言.Java.JavaScript 等其它编程语言,那么你可能会觉得 Shell 中的 if else 语句有点奇怪. if 语句 最简单的用法就是只使用 if 语句,它的语法格式为: if condition then statement(s) fi c

  • 详解shell脚本中的case条件语句介绍和使用案例

    #前言:这篇我们接着写shell的另外一个条件语句case,上篇讲解了if条件语句.case条件语句我们常用于实现系统服务启动脚本等场景,case条件语句也相当于if条件语句多分支结构,多个选择,case看起来更规范和易读 #case条件语句的语法格式 case "变量" in 值1) 指令1... ;; 值2) 指令2... ;; *) 指令3... esac #说明:当变量的值等于1时,那么就会相应的执行指令1的相关命令输出,值等于2时就执行指令2的命令,以此类推,如果都不符合的话

  • Node.js API详解之 querystring用法实例分析

    本文实例讲述了Node.js API详解之 querystring用法.分享给大家供大家参考,具体如下: Node.js API详解之 querystring querystring模块提供了一些实用函数,用于解析与格式换URL查询字符串 通过 const querystring = require('querystring'); 的方式引用querystrings模块 目录: querystring.escape(str) querystring.unescape(str) querystri

  • Node.js API详解之 string_decoder用法实例分析

    本文实例讲述了Node.js API详解之 string_decoder用法.分享给大家供大家参考,具体如下: string_decoder 模块提供了一个 API,用于把 Buffer 对象解码成字符串. 对于参数末尾不完整的多字节字符,string_decoder会将其保存在内部的buffer中,当再次解码时,补充到参数开头. 通过 const { StringDecoder } = require('string_decoder'); 的方式引用string_decoder模块. 目录:

随机推荐