详解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用法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
时间: 2017-10-18
Kafree收集整理 来源:论坛转载无法确定出处,如有版权问题请与我们联系 1.Stream对象 组件:"Adodb.Stream" 有下列方法: Cancel 方法 使用方法如下 Object.Cancel 说明:取消执行挂起的异步 Execute 或 Open 方法的调用. Close 方法 使用方法如下 Object.Close :关闭对像 CopyTo 方法 使用方法如下 Object.CopyTo(destStream,[CharNum
复制代码 代码如下: #include#includeint main(){ //打开记事本 // ShellExecute(NULL, "open", "notepad.exe", NULL, NULL, SW_SHOWNORMAL); //使用notepad.exe 打开指定文本,参数不要忘记加'\' //ShellExecute(NULL, "open", &
说明: cut 按列切分文件,你可以指定分隔每列的定界符.在cut的术语中,每列都是一个字段,就是有时候说第一列,可能表述称第一个字段. 实战: 假设有文件data.txt,格式如下 NO Name Mark Percent 1 Sarath 45 90 2 Alex 49 98 3 Anu 45 90 分隔符(定界符)为Tab 制表符 如果我要取得第二列,所有人的名称,有什么好的办法吗?此时cut该大显身手了. 1.
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执行/调用Java/Jar程序例子的实例详解 前言: 最近要写一个独立的Java程序去监控Hadoop和Oozie,通过Shell去调用.写代码到现在也4年多了,貌似就从来没在生产环境中写过一个独立的Java程序,不是部署到Tomcat就是直接丢给Hadoop.于是参考Hadoop等开源环境,自己写了一个demo,并且可以通过Ant打包生成可运行的程序.所以这里有三步:Java程序,Shell,Ant 1.首先建立Java程序,由于是例子,所以这里很简单,只是输出传入参数的个
本文实例讲述了JavaScript命令模式原理与用法.分享给大家供大家参考,具体如下: 第一,命令模式: (1)用于消除调用者和接收者之间直接的耦合的模式,并且可以对(调用这个过程进行留痕操作) (2)真的不要乱用这个模式,以为他使你简单调用写法变得非常的复杂和有些难以理解. (3)你的业务出现了 (回退操作)(重做操作)的需求的时候你就要考虑使用这个模式了. 命令的原理: 一种情况为发出者直接作用于执行者,这样耦合度很高,另外一种情况为,在发出者和执行者之间增加一个用存储命令的命令访问库也即命
MySQL命令行导出数据库: 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server 5.5\bin (或者直接将windows的环境变量path中添加该目录) 2,导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名 如我输入的命令行:mysqldump -u lmapp -p lmapp -P 3308 > lmapp.sql (输入后会让你
1.利用while循环计算1到100的和: 示例代码1: #!/bin/bash i=1 sum=0 while [ $i -le 100 ] do let sum=sum+$i let i++ done echo $sum 示例代码2:利用while循环计算1到100之间所有奇数之和 #!/bin/bash i=1 sum=0 while [ $i -le 100 ] do let sum=sum+$i let i+=2 done echo $sum 示例代码3:利用while循环计算1到10
php 可以像java perl python 那样运行,今天发现如果我早早知道这个,或许我不会去学习java 和 python 当年学java不过为了一个程序放在服务器上,不停的跑啊跑,原来 php 也可以. php -h Usage: php [options] [-f] [--] [args...] php [options] -r [--] [args...] php [options] [-B ] -R &l
Linux中可以使用分号";".双and号"&&"和双竖线"||"来连接多个命令.单"&"符号也算命令连接符号,只不过它是将其前面的命令放入后台执行,所以可以变相地实现命令并行执行. 1.分号";" command1 ; command2 命令之间没有逻辑关系.分号连接的命令会按照顺序从前向后依次执行,但分号两端的命令之间没有任何逻辑关系,所有写出来的命令最终都会被执行,即使分号前面
locate 基础了解 在centos7上默认没有locate命令,需要先手动安装.安装步骤:http://www.cnblogs.com/feanmy/p/7676717.html locate命令搜索的后台数据库路径:/var/lib/mlocate/mlocate.db ls -hl /var/lib/mlocate total 1.2M -rw-r----- 1 root slocate 1.2M Oct 16 14:36 mlocate.db 更新数据库使用updatedb,配置文件为
关于cmd命令的重定向输出 2>&1 mycommand >mylog.txt 2>&1 应该是最经典的用法了. 命令的结果可以通过"%>"的形式来定向输出,%表示文件描述符: 1为标准输出stdout.2为标准错误stderr. 系统默认%值是1,也就是"1>",而1>可以简写为>,也就是默认为>.stdout的默认目标是终端,stderr的默认目标为也是终端.我们在批处理中执行: echo text
Linux traceroute命令使用方法实例详解 一.默认使用的是UDP协议(30000以上端口) 二.使用TCP协议 -T -p 三.使用ICMP协议 -I 四.实战 [root@localhost hping-master]# whereis traceroute traceroute: /usr/bin/traceroute /usr/share/man/man8/traceroute.8.gz [root@localhost hping-master]# [root@localhos
本文详细介绍了Shell cut命令的用法。cut以行为处理对象,接受byte、characters、fields三种定位方法,还介绍了不同选项的使用及注意事项,如-b、-c、-d等。同时通过实战示例展示了如何使用cut命令按列切分文件,提取所需信息。
33万+

被折叠的 条评论
为什么被折叠?



