linux中cut -c命令,Linux中cut命令的使用

cut命令用于从文件的每一行中抽取指定部分,支持按照字节、字符或字段进行抽取。通过-b选项按字节抽取,-c按字符,-f按字段,并能指定分隔符。例如,抽取文件的第1到第5个字节,或按分号分隔获取特定字段。在处理电话簿文件或查看Linux用户信息时,cut命令能有效地提取所需数据。
摘要由CSDN通过智能技术生成

CUT可以对file(或stdin或pipe)的每行抽取出希望抽取的部分extract(cut out) selected fields of each line of a file.

【用法】

cut -bLIST [-n] [file]

cut -cLIST [file]

cut -fLIST [-dDELIM] [-s] [--output-delimiter=STRING] [file]

LIST

LIST是使用整数(按照升序)表示的需要抽取的位置:

枚举list:

使用,(逗号)或blank-character表示;

范围range:

使用-表示。

例如:1,4,7,1-3,8;或者省略表示:-5,10 (等价于1-5,10),3- (等价于3-末尾)。

file

要抽取文件的路径名;如果没有指定或者使用-,则从stdin接受数据。

1.按照字节byte抽取cut -bLIST [-n] [file]

a. 例如:cut -b1-5 表示抽取每行的第1到第5个字节;

完整的例子:echo "this is min" | cut -b1-6 返回this i

b. cut -bLIST -n: -n和-b结合使用防止multi-byte多字节字符被切割;

2.按照字符抽取cut -cLIST [file]

例如:echo "this is min" | cut -c1-6,返回this i

3.按照分割以后的域field抽取

cut -fLIST [-dDELIM] [-s] [--output-delimiter=STRING] [file]

过程为:先对每行的字符串按照-dDELIM指定的分隔符DELIM(默认使用TAB)进行分割;然后按照LIST的值返回指定域的内容。

例如:

echo "this is min" | cut -f1,3 返回this min,按照默认的TAB进行分割,返回结果还是按照TAB。

echo "this_is_min" | cut -f1,3 -d"_" 返回this_min,按照指定的_进行分割,返回结果使用_分割。

对于没有DELIM的行会完全返回,如果不希望返回可以使用-s;

默认返回的各个域仍按照-d指定的DELIM分割显示,如果希望结果中使用指定的分隔符,可以使用--output-delimiter=STRING指定。

例如:echo "this_is_min" | cut -f1,3 -d"_" --output-delimiter="-" 返回结果为this-min

应用举例:

1 有一页电话号码薄文件contacts.txt,上面按顺序规则地写着”人名、家庭住址、电话、备注”等,假如使用;隔开。

如果希望抽取所有人的名字和其对应的电话号码,使用命令:

cat contacts.txt | cut -f1,3 -d";"

2 要查看Linux下当前所有的用户:

cat /etc/passwd | cut -f1,3 -d":"

第二列大于500的为创建的用户,小于500的为系统定义的用户。

例如:

###################################################################

## ckinstance.ksh ##

###################################################################

echo "`date` "

echo "Oracle Database(s) Status `hostname` "

namelst=`ps -ef|grep ora_pmon|grep -v grep|awk '{print $8}'|cut -c10-15`

for name in $namelst

do

if [ -z$name ];then

echo "Oracle Instance - $name: Down"

else

echo "Oracle Instance - $name: Up"

fi

done

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值