常见的Linux命令--字符串截取命令
⼀、cut命令
cut: 按照字表符或者指定分隔符截取字符串
-d 指定分隔符
-f 指定截取的列,多个列之间⽤“,”分隔
⽰例:cut -d ":" -f1,3 /etc/passwd
⼆、print和printf命令
命令格式:printf "输出格式输出类型" “输出内容”
printf: 输出指定的内容,通常与awk命令连⽤
%ns 表⽰输出字符串类型的个数
%ni 表⽰输出整数类型的个数
%m.nf 表⽰输出浮点数类型
print: 与printf⼀样,但是在输出字符串时会⾃动换⾏
⽰例:printf "%s\t%s\t%s\t\n" 1 2 3
三、awk命令
awk:可以按空格截取字符串
命令格式:awk '{条件1}{动作1}{条件2}{动作2}'
BEGIN 在截取之前处理
END 在截取之后处理
FS 指定分隔符
⽰例:df -h | grep vda1 | awk '{printf $1 "\t" $5}' |cut -d "%" -f1 # 使⽤awk统计根分区的使⽤率
awk 'BEGIN{print "开始统计三班的成绩"}END{print "成绩统计结束"}{print $2 "\t" $5}'
# 统计学⽣的成绩 cat /etc/passwd | grep /bin/bash | grep -v root | awk 'BEGIN{FS=":"}{print $1 "\t" $5}' # 查系统中的普通⽤户
四、sed命令
命令格式:sed [选项] ‘[动作]’
sed: 将其他命令的输出作为输出的流编辑器
-n 只输出sed命令编辑过的信息
-e 多个命令⼀起操作,多个操作之间⽤“;”隔开
-i 保存修改后的内容到原⽂件
动作命令包括
a 在指定⾏后⾯追加指定字符串
i 在指定⾏前⾯插⼊指定字符串
printf输出格式linux d 删除指定⾏
c 按⾏替换
s 按字符串替换格式为:/s/新字符串/旧字符串/g
p 打印⾏
⽰例:sed '2p' ./ # 打印的第⼆⾏
sed '2a hahaha' # 在⽂件的第⼆⾏后⾯追加字符串hahaha
sed '2i hahaha\xixixi' # 在⽂件第⼆⾏前插⼊hahaha和xixixi
sed ‘2,4d’ # 删除⽂件的第⼆⾏到第四⾏
sed '2c no such man' # 将的第⼆⾏替换为no such man
sed '2s/HubuSugar/igoodful/g' # 将⽂件的HubuSugar替换成igoodful
sed -e '2d;3c no such man' # 删除⽂件的第⼆⾏,同时将第三⾏替换为no such man
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论