linux下的zz命令,linux中cut命令的用法
本文主要记录一下Linux中cut命令的用法。
1. cut命令使用说明
Usage: cut OPTION... [FILE]...
cut命令用于选出FILE文件中每一行的某些部分,然后打印到标准输出。
cut命令支持的参数列表:
-b, --bytes=LIST 选择指定位置处(字节处)的数据
-c, --characters=LIST 选择指定字符处的数据
-d, --delimiter=DELIM 使用DELIM作为字段分隔符,而不是采用默认的TAB
-f, --fields=LIST 只选择指定field出的内容;同时也会打印出不包含delimiter的行(除非指定了-s选项)
-n 搭配-b选项使用: 表示不要分割多字节字符。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的范
围之内,该字符将被写出;否则,该字符将被排除。
--complement 补全选中的字节、字符或域
-s, --only-delimited 不打印没有包含分界符的行
--output-delimiter=STRING 使用STRING作为输出分隔符
可以通过如下的方式来指定范围:
N 第N个字节/字符/field, 索引从1开始
N- 从第N个字节/字符/field开始,一直到行尾
N-M 从第N到第M(included)个字节/字符/field
-M 从第1到第M(included)字节/字符/field
2. 用法举例
有如下两个文件:
1) test1.txt
abcdefg
hijklmn
opqrst
uvwxyz
注意: 上面以TAB键分割,中间还有一行空行
2) test2.txt
星期一
星期二
星期三
星期四
星期五
星期六
星期天
1) 剪切单个字节
# cut -b 1 test1.txt
a
h
o
u
2) 剪切多个字节
//剪切1、3、5个字节
# cut -b 1,3,5 test1.txt
ac
hj
oq
uw
//剪切1-6字节
# cut -b 1-6 test1.txt
abcd e
hijk l
opqr s
uvwx y
3) 剪切字符
# cut -b 2 test2.txt
�
�
�
�
�
�
�
这里我们看到出现乱码,因为-b只是针对字节进行裁剪,对一个汉字进行字节裁剪,得到的结果必然是乱码,若想使用-b命令对字节进行裁剪,那么则需要使用-n选项,此选项的作用是取消分割多字节字符。
[root@localhost test]# cut -nb 3 test2.txt
一
二
三
四
五
六
天
4) 字符剪切(-c)
# cut -c 3 test2.txt
一
二
三
四
五
六
天
5) 剪切指定域
上面的-b、-c只是针对于格式固定的数据中剪切,但是对于一些格式不固定的,就没有办法获取到我们想要的数据,因此便有了-f域的概念
# cat /etc/passwd | head -n 3
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
将上面的第一个:前面的字符给剪切出来,那么我们就可以使用-d命令,指定其分割符为:然后再选取第一个域内的内容即可:
# cat /etc/passwd | head -n 3 | cut -d : -f 1
root
bin
daemon
# cat /etc/passwd | head -n 3 | cut -d : -f 7
/bin/bash
/sbin/nologin
/sbin/nologin
6) 剪切出IP地址
# ifconfig | grep -w "inet"
inet 172.18.0.1 netmask 255.255.0.0 broadcast 172.18.255.255
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
inet 192.168.69.128 netmask 255.255.255.0 broadcast 192.168.69.255
inet 127.0.0.1 netmask 255.0.0.0
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
# ifconfig | grep -w "inet" | tr -s ' ' | cut -d ' ' -f 3,5,7 --output-delimiter=" "
172.18.0.1 255.255.0.0 172.18.255.255
172.17.0.1 255.255.0.0 172.17.255.255
192.168.69.128 255.255.255.0 192.168.69.255
127.0.0.1 255.0.0.0
192.168.122.1 255.255.255.0 192.168.122.255
注意: 如果你的文件分隔符恐怕不止一个空格的话,此时若要用cut,则必须先用命令tr -s ' '将多余的空格剔除。
[参看]:
linux下的zz命令,linux中cut命令的用法相关推荐
- Linux下ps查找进程用kill终止命令
Linux下ps查找进程用kill终止命令<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:offic ...
- Linux下必须知道的11个网络命令
Linux下必须知道的11个网络命令 作者:佚名 字体:[增加 减小] 来源:互联网 时间:03-06 15:54:29 我要评论 无论你是要下载文件.诊断网络问题.管理网络接口,还是查看网络的统计数 ...
- Linux下常见文件解压方法及命令
Linux下常见文件解压方法及命令时间:2007-01-08 18:34来源:CSDN作者:bitsCN编辑字体:[大 中 小]1.以.a为扩展名的文件: #tar xv file.a 2.以.z为扩 ...
- linux 让暂停的进程恢复,Linux 下进程的挂起和恢复命令
本文给大家介绍进程的挂起及恢复命令,具体内容如下所示: #ctrl+z:挂起,程序放到后台,程序没有结束. #jobs:查看被挂起的程序工作号 恢复进程执行时,有两种选择:fg命令将挂起的作业放回到前 ...
- linux 骇客帝国脚本,Linux下,那些让人惊叹的命令执行效果
Linux下,那些让人惊叹的命令执行效果 之前介绍过linux常用命令一文,接下来我们来一起学习一下linux里好玩的命令作者:luckyw2016-12-08 18:23 之前介绍过linux常用命 ...
- Linux下 “>/dev/null 2>1 “ 命令学习
Linux下 ">/dev/null 2>&1 " 命令学习 参考链接: 1.https://blog.csdn.net/sunrier/article/det ...
- Linux和Windows命令行中使用命令的输出(删除几天前的日志)
如果我们需要在命令行中使用命令的结果,需要怎么做? 很常见的一种情况是我们需要当前工作目录的路径.在Linux下,可用这样: $ echo `pwd` $ ./mdu `pwd` 在Windows下面 ...
- linux查内核参数命令,linux 下查看cpu位数 内核等参数命令
linux 下查看cpu位数 内核等参数命令. # uname -a Linux euis1 2.6.9-55.ELsmp #1 SMP Fri Apr 20 17:03:35 EDT 2007 i6 ...
- Redis第二集:Linux下安装Redis和测试,包含命令代码和问题处理办法,超详细版
Redis第二集:Linux下安装Redis和测试,包含命令代码和问题处理办法,超详细版 一.资源 Linux下的Redis的下载地址 二.安装与测试 上传至自己的Linux平台 解压安装包 tar ...
最新文章
- mysql 拼接sql批量执行_Mysql 学习笔记之 SQL 执行过程
- Java机器学习库ML之九交叉验证法(Cross Validation)
- batchsize一定是2的幂_支付接口的幂等性设计
- 直击!10万阿里小二的复工生活
- 传统程序员如何学习机器智能?阿里公开11个经典实战案例
- leetcode 413. Arithmetic Slices | 413. 等差数列划分(Java)
- c++中的类型转换--reinterpret_cast
- 八数码深度优先搜索_深度优先搜索和广度优先搜索
- Codeforces Round #320 (Div. 2) [Bayan Thanks-Round]
- idea 的精准搜索_intellij idea 的全局搜索快捷键方法
- 构造方法、toString、Object类、String类
- 用技术——设计模式22——行为型模式——模板模式——待补充
- Windows操作系统原理笔记
- 计算机硬盘有坏道,电脑硬盘有坏道怎么办?
- Django使用DRF + Simple JWT 完成小程序使用自定义用户的注册、登录和认证
- Boost.Geometry介绍
- CF1428F Fruit Sequences
- 考研路上的那些一战二战三战成功与失败的故事系列之一
- 【整理贴】企业网站系统大全,拿好不谢
- windows/linux 系统U盘制作系统盘(实战,简单)