linux顺序控制与管道有最爱grep和其他sort、cut、echo、cut命令。。。

linux顺序控制与管道最爱grep和其他sort、cut、echo、cut命令。。。


uniq命令

可以用于过滤或者输出重复行。

uniq -dc  //输出重复过的行(重复的只输出一个)及重复次数
uniq -D //输出所有重复的行

history | cut -c 8-14| sort| uniq
//每行第8到地14个字符 排序因为uniq命令只能去连续重复的行,不是全文去重


sort

$ cat /etc/passwd | sort -t':' -k 3 -n
//  上面的-t参数用于指定字段的分隔符,这里是以":"作 为分隔符;

-k字段号用于指定对哪一个字段进行排序。

这里/etc/passwd文件的第三个字段为数字,

默认情况下是以字典序排序的,如果要按照数字排序就要加上-n参数

-r 反序

grep

# 查看环境变量中以"yanlou"结尾的字符串, $ 表示结尾
$ export | grep ".*yanlou$"

cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。

如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。

参数:

-b :以字节为单位进行分割。这些字节位置将忽略多字节 字符边界,除非也指定了 -n 标志。

-c :以字符为单位进行分割。

-d :自定义分隔符,默认为制表符。

-f :与-d一起使用,指定显示哪个区域。

-n :取消分割多字节字符。仅和 -b
标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的
范围之内,该字符将被写出;否则,该字符将被排除

cut  [-bn] [file]
cut [-c] [file]
cut [-df] [file]

cat /etc/passwd|head -n 10
$ cut /etc/passwd -d ':' -f 1,6 | head -n 10
//上两对比,
        打印/etc/passwd文件中以:为分隔符的第1个字段和第6个字段分别表示用户名和其家目录:
# 前五个(包含第五个)
$ cut /etc/passwd -c -5
# 前五个之后的(包含第五个)
$ cut /etc/passwd -c 5-
# 第五个
$ cut /etc/passwd -c 5
# 2到5之间的(包含第五个)
$ cut /etc/passwd -c 2-5

命令控制 &&、||

which cowsay>/dev/null && echo "exist" || echo "not exist"
//which ,将输出信息重定向到/dev/null文件中,
    /dev/null属于字符特殊文件,它属于空设备,是一个特殊的设备文件,它会丢弃一切写入其中的数据,写入它的内容都会永远丢失,而且没有任何可以读取的内容。

  && 当前面命令的 $? 为 0 时执行
  || 当前面命令的 $? 为 1 时执行

使用echo $? 查看命令是否执行情况

shell中的特殊变量:

变量名

含义

$0

shell或shell脚本的名字

$*

以一对双引号给出参数列表
$@

将各个参数分别加双引号返回

$#

参数的个数

$_

代表上一个命令的最后一个参数

$$

代表所在命令的PID

$!

代表最后执行的后台命令的PID

$?

代表上一个命令执行后的退出状态

echo $?

如果返回值是0,就是执行成功;如果是返回值是0以外的值,就是失败。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值