linux基础命令--shell编程

1、shell编程之字符截取命令

cut 描述:显示行中的指定部分【即截取符合条件的列】,删除文件中指定字段
        该命令对应grep【截取符合条件的行】

常用选项
-d 指定字段的分隔符,默认的字段分隔符为“TAB”
-f 选择指定字段的内容

printf 描述:格式化和打印数据 多配合awk使用

printf '输出类型输出格式' 输出内容

输出类型:
    %ns  输出字符串,n代表输出几个字符串
    %ni  输出整数
    %m.nf  输出浮点数,m为总位数,n为小数点后几位

这里需要引入print命令,实际上在linux中,系统是不识别print这个命令的,但是在awk中可以被识别,
在awk中,printf在输出内容的末尾不加换行符,而print会加上换行符,可参考下图差别

 

awk 描述:awk是一种编程语言,用于在linux/unix下对文本和数据进行处理

语法格式:
    awk [options] 'script' var=value file(s)
    awk [options] -f scriptfile var=value file(s)

中文表达:
    awk '条件一{动作一}条件二{动作二}' 文件名
条件(pattern)
一般使用关系表达式作为条件
    x>10    判断变量x是否大于10
    x>=10    大于等于
动作(action)
    格式化输出 (printf)
    流程控制语句

举例:
    awk 'BEGIN{printf "成绩如下:" "\n"} {printf $2 "\t" $4 "\n"}' student.txt

    FS 手动定义分隔符
    awk 'BEGIN{FS=":"} {printf $2 "\t" $4 "\n"}' /etc/passwd

 

 

 

sed 描述:轻量级流编辑器,用来将数据进行选取、替换、删除、新增的命令

对比vi , vi只能修改文件;sed不光可以修改文件,还可以从管道符接受内容并进行操作

语法格式:
    sed [选项] '[动作]' 文件名

常用选项:
    -n  一般sed命令会把所有数据都输出到屏幕,如果加入此选择,则会把经过sed命令

        处理的行输出到屏幕

    -e  允许对输入数据应用多条sed命令编辑

    -i  用sed修改结果直接修改读取数据的原始文件,而不是由屏幕输出

动作:
    sed 's/旧子串/新子串/g' 文件名
举例   sed '3s/99/33/g' student.txt  将第三行的99替换为33

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/qq_28519183/article/details/81515547