linux的基本命令(四)

十二、printf
printf ’输出类型输出格式’ 输出内容
输出类型:
%ns: 输出字符串。n是数字指代输出几个字符
%ni: 输出整数。n是数字指代输出几个数字
%m.nf: 输出浮点数。m和n是数字,指代输出的整数
位数和小数位数。如%8.2f代表共输出8位数,
其中2位是小数,6位是整数。

十三、awk@
#awk ‘条件1{动作1} 条件2{动作2}…’ 文件名
条件(Pattern):
一般使用关系表达式作为条件
x > 10 判断变量 x是否大于10
x>=10 大于等于
x<=10 小于等于
动作(Action):
格式化输出
流程控制语句

#awk ‘{printf $2 “\t” $6 “\n”}’ student.txt
#df -h | awk ‘{print $1 “\t” $3}’
#awk ‘BEGIN{printf “This is a transcript \n” }
{printf $2 “\t” $6 “\n”}’ student.txt
#awk ‘END{printf “The End \n” }
{printf $2 “\t” $6 “\n”}’ student.txt
指定分隔符
#cat /etc/passwd | grep “/bin/bash” |
awk ‘BEGIN {FS=":"} {printf $1 “\t” $3 “\n”}’
#cat student.txt | grep -v Name |
awk ‘$6 >= 87 {printf $2 “\n” }’

十四、sed命令@

sed命令
sed 是一种几乎包括在所有 UNIX 平台(包括 Linux)的轻量级流编辑器。sed主要是用来将数据进行选取、替换、删除、新增的命令。

[root@localhost ~]# sed [选项] ‘[动作]’ 文件名
选项:
-n: 一般sed命令会把所有数据都输出到屏幕 ,如果加入此选择,则只会把经过sed命令处理的行输出到屏幕。
-e: 允许对输入数据应用多条sed命令编辑
-i: 用sed的修改结果直接修改读取数据的文件,而不是由屏幕输出

如:
df -h|awk ‘{printf $2 “\n”}’|sed -n “2,4p”
df -h|awk ‘{printf $2 “\n”}’|sed -n “/2/p”

动作:
a \: 追加,在当前行后添加一行或多行。添加多行时,除最后 一行外,每行末尾需要用“\”代表数据未完结。
c \: 行替换,用c后面的字符串替换原数据行,替换多行时,除最后一行外,每行末尾需用“\”代表数据未完结。
i \: 插入,在当期行前插入一行或多行。插入多行时,除最后 一行外,每行末尾需要用“\”代表数据未完结。
d: 删除,删除指定的行。
p: 打印,输出指定的行。
s: 字串替换,用一个字符串替换另外一个字符串。格式为“行范围s/旧字串/新字串/g”(和vim中的替换格式类似) 。

sed ‘/test/r file’ filename
sed -n ‘/test/w file’ example
sed -i ‘2a\this is a test line’ test.conf
sed ‘/^test/i\this is a test line’ file
sed -e ‘1,5d’ -e ‘s/test/check/’ file
sed ‘/test/{ n; s/aa/bb/; }’ file

十五、排序命令sort@

1、排序命令sort
[root@localhost ~]# sort [选项] 文件名
选项:
-f: 忽略大小写
-n: 以数值型进行排序,默认使用字符串型排序
-r: 反向排序
-t: 指定分隔符,默认是分隔符是制表符
-k n[,m]: 按照指定的字段范围排序。从第n字段开始,m字段结束(默认到行尾)

猜你喜欢

转载自blog.csdn.net/qq_34134299/article/details/109117816
今日推荐