shell -- cut用法

cut命令可以从一个文本文件或者文本流中提取文本列。

cut语法
[[email protected] ~]# cut -d ‘分隔字符‘ -f fields <==用于有特定分隔字符
[[email protected] ~]# cut -c 字符区间               <==用于排列整齐的信息
选项与参数:
-d  :后面接分隔字符。与 -f 一起使用;
-f  :依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思;
-c  :以字符 (characters) 的单位取出固定字符区间;

PATH 变量如下
[[email protected] ~]# echo $PATH
/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:/usr/games
# 1 | 2       | 3   | 4       | 5            | 6            | 7

将 PATH 变量取出,我要找出第五个路径。
#echo $PATH | cut -d ‘:‘ -f 5
/usr/local/bin
 
将 PATH 变量取出,我要找出第三和第五个路径。
#echo $PATH | cut -d ‘:‘ -f 3,5
/sbin:/usr/local/bin

将 PATH 变量取出,我要找出第三到最后一个路径。
echo $PATH | cut -d ‘:‘ -f 3-
/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:/usr/games
 
将 PATH 变量取出,我要找出第一到第三个路径。
#echo $PATH | cut -d ‘:‘ -f 1-3
/bin:/usr/bin:/sbin:

将 PATH 变量取出,我要找出第一到第三,还有第五个路径。
#echo $PATH | cut -d ‘:‘ -f 1-3,5
/bin:/usr/bin:/sbin:/usr/local/bin

实用例子:只显示/etc/passwd的用户和shell
#cat /etc/passwd | cut -d ‘:‘ -f 1,7
root:/bin/bash
daemon:/bin/sh
bin:/bin/sh

截取指定个数的字符
$ a=`echo root:x:0:0:root:/root:/bin/bash | cut -c 2-5 ` // 截取第2到第5个字符
$ echo $a  
oot:

$ a=`echo root:x:0:0:root:/root:/bin/bash | cut -c -2 `   // 截取前两个字符
$ echo $a  
ro

$ a=`echo root:x:0:0:root:/root:/bin/bash | cut -c 2- `    // 截取第2个以后的
$ echo $a  
oot:x:0:0:root:/root:/bin/bash

指定文件,最后一个参数是文件名
$ > cat cut_test.txt
root:x:0:0:root:/root:/bin/bash  
bin:x:1:1:bin:/bin:/sbin/nologin  
daemon:x:2:2:daemon:/sbin:/sbin/nologin  
adm:x:3:4:adm:/var/adm:/sbin/nologin

$ > cut -d : -f 1,6 ./cut_test.txt
root:/root
bin:/bin
daemon:/sbin
adm:/var/adm

或者用cut -d : -f 1,6 cut_test.txt 和 cat cut_test.txt | cut -d : -f 1,6 都可以

时间: 2024-11-07 20:24:23

shell -- cut用法的相关文章

shell 命令用法

最近因为编译一些文件,刚开始接触一些shell命令,感觉很神奇,用途还蛮大的,所以做了一些笔记,命令的顺序可能比较乱,功能也不会说的很全. 1. Cut 命令 Cut 命令用来截取字符中的某一段,很靠谱,cut命令有5个参数,其中-c,-b,-f分别表示"character", "byte"以及"field"截取方式.这三种截取方式只能采用一种? 以下列举出两种用法: (1): echo hello, world | cut -c 8-12  

cut用法

linux之cut用法 cut是一个选取命令,就是将一段数据经过分析,取出我们想要的.一般来说,选取信息通常是针对"行"来进行分析的,并不是整篇信息分析的. (1)其语法格式为:cut [-bn] [file] 或 cut [-c] [file] 或 cut [-df] [file] 使用说明cut 命令从文件的每一行剪切字节.字符和字段并将这些字节.字符和字段写至标准输出.如果不指定 File 参数,cut 命令将读取标准输入.必须指定 -b.-c 或 -f 标志之一. 主要参数-b

Linux shell ${}简单用法

转自:Linux shell ${}简单用法 为了完整起见,我这里再用一些例子加以说明 ${ } 的一些特异功能:假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.txt我们可以用 ${ } 分别替换获得不同的值:${file#*/}:拿掉第一条 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt${file##*/}:拿掉最后一条 / 及其左边的字符串:my.file.txt${file#*.}:拿掉第一个 . 及其左边的字符串:fil

linux之cut用法

linux之cut用法 cut是一个选取命令,就是将一段数据经过分析,取出我们想要的.一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的. (1)其语法格式为:cut  [-bn] [file] 或 cut [-c] [file]  或  cut [-df] [file] 使用说明cut 命令从文件的每一行剪切字节.字符和字段并将这些字节.字符和字段写至标准输出.如果不指定 File 参数,cut 命令将读取标准输入.必须指定 -b.-c 或 -f 标志之一. 主要参数-b :

Linux shell 正则表达式用法

1.“ \  ” 用法 用于关闭其后续字符的特殊含义,恢复字符的本身含义,如:\\ 表示字符 \ 2. “ . " 用法 匹配任意单个字符 3. " * " 用法 匹配任意字符,可以是单个,也可以是多个,和 ”.“ 字符的去吧是是否可以匹配多个任意字符 4. "^" 的用法 在行的起始处开始匹配紧接着的字符,如 ^6,匹配行的首字符为6的行. 5." $ " 的用法 和 “^” 用法相似,表示在行的结尾处开始匹配字符,如 6$,匹配行的

shell基础(二)cut用法

语法: cut -d '分隔字符' [-cf] n -d 后面指定分隔符,单引号引起来,必须是单个字符 -f 指定第几段,可以跟多个数字,用逗号隔开 -c 后面只有一个数字,表示截取第几个字符 -d 后面跟分隔字符,这里使用冒号:作为分隔字符,-f 1 就是截取第一段. 注意:-f 和 1直接的空格可有可无.     -d 和 -c 不能同时使用 # cut -d ':' -f 3 /etc/passwd [空格之后用单引号引起来] # cut -d:-f 3 /etc/passwd  [-d

Linux shell - cut命令用法(转载)

cut  [-bn] [file] 或 cut [-c] [file]  或  cut [-df] [file] 使用说明 cut 命令从文件的每一行剪切字节.字符和字段并将这些字节.字符和字段写至标准输出. 如果不指定 File 参数,cut 命令将读取标准输入.必须指定 -b.-c 或 -f 标志之一. 主要参数 -b :以字节为单位进行分割.这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志. -c :以字符为单位进行分割. -d :自定义分隔符,默认为制表符. -f :与-d一起

Linux 常用命令解析及Bash Shell脚本用法示例

 摘要 Linux 命令是基于文本格式输入输出的一种程序,按照Unix哲学中强调的程序功能简单,输入宽松,输出严谨,各种程序组合可以具有更强大的功能,而具有这种灵活性的主要原因是Linux规定程序的输入输出必须坚持文件流格式,即文本格式,而这就是Linux系统的核心之一. 对于Bash,即Shell的一种,为现在主流Linux发行版本默认的命令行解释器,是一种功能强大的工具,可以实现对Linux支持的程序命令的组合,从而实现强大功能.类似于Window系统的bat文件,Bash具有更为强大的

linux 命令cut用法

cut命令        cut [OPTION]... [FILE]...            -d DELIMITER: 指明分隔符            -f FILEDS:                #: 第#个字段                #,#[,#]离散的多个字段例如1,3,6                #-#连续的多个字段, 例如1-6 混合使用1-3,7            --output-delimiter=STRING             [[ema