Shell基础(字符处理)

cut 字段提取(提取列)

格式: cut
选项:
-f 列号:提取第几列
-d 分隔符:指定分隔符去分隔列
例:

cut -f 2,3 student.txt
提取student.txt的第2、3列

cat /etc/passwd | grep /bin/bash |grep -v root| cut -d “:” -f 1
提取passwd中的普通用户的名字

cut的弊端:没办法处理不同空格数分隔的列,要用到awk

akw 截取列

格式: awk ’条件1{动作1}条件2{动作2}…‘ 文件名
例:

df -h |awk ‘{print $1 “\T” $3}’
输入df -h的第1列第3列

sed

轻量级流编辑器,sed主要用来对数据进行选取、替换、删除、新增。
格式: sed [选项] ’[动作]‘ 文件名
选项:
-n:把经过sed命令处理的行输出到屏幕
-e:允许对输入数据应用多条sed命令编辑
-i:用sed的修改结果直接修改读取数据的文件,而不只是在屏幕输出
动作:
a\:追加,在当前行后添加一行或多行。添加多行时,除最后一行外,每行末尾用“\”代表数据未完结
c\:行替换,用c候面的字符串替换原数据行,替换多行时,除最后一行外,每行末尾用“\”代表数据未完结
i\:插入,插入多行时,除最后一行外,每行末尾用“\”代表数据未完结
d\:删除
p:打印
s:字串替换 格式为“行范围s/旧字串/新字串/g”
例:

sed -n “2p” /etc/passwd
只输出passwd的第二行

sed “2,4d” /etc/passwd
删除passwd的2到4行,但是不对passwd做修改,只是将删除之后的内容输出到屏幕

printf

格式: print ‘输出类型输出格式’ 输出内容
输出类型:
%ns:输出字符串,n是数字指输出n个字符
%ni:输出整数,n是数字指输出n个数字
%m.nf:输出浮点数。m指整数位数,n为小数位数。如%8.2f代表共输出8位数,其中2位小数位,6位整数位。
输出格式:
\a: 警告音
\b:退格
\f:清除屏幕
\n:换行
\r:回车
\t:水平输出退格键,即tab。

sort 排序

格式: sort [选项] 文件名
-f:忽略大小写
-n:以数值型进行排序,默认使用字符串型排序(即10<2)
-r:反向排序
-t:指定分隔符,默认分隔符为制表符\t
-k n[,m]:按照指定的字段范围排序,从第n字段开始,m字段结束(默认行尾)
例:

sort -t “:” -k 3,3 /etc/passwd

指定分隔符:,用第三个字段排序。

wc 统计

格式: wc [选项] 文件名
选项:
-l:统计行数
-w:统计单词数
-m:统计字符数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值