我是靠谱客的博主 无情月亮,最近开发中收集的这篇文章主要介绍命令执行顺序控制与管道,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.顺序执行

yum install tools;yum install tools1;yum install tools2;

2.有选择的执行

which cowsay>/dev/null && cowsay -f head-in pppppp

上面的&&就是用来实现选择性执行的,它表示如果前面的命令执行结果(不是表示终端输出的内容,而是表示命令执行状态的结果)返回0则执行后面的,否则不执行,你可以从$?环境变量获取上一次命令的返回结果

echo $?

$ which cowsay>/dev/null || echo "cowsay has not been install, please run 'sudo apt-get install cowsay' to install"

||在这里就是与&&相反的控制效果,当上一条命令执行结果为≠0($?≠0)时则执行它后面的命令:

结合使用

 

which cowsay>/dev/null && echo "exist" || echo "not exist"

3.管道|

ls -al /etc | less

通过管道将前一个命令(ls)的输出作为下一个命令(less)的输入,然后就可以一行一行地看。

 

cut 命令,打印每一行的某一字段

cut /etc/passwd -d ':' -f 1,6   打印第一列和第6列

# 前五个(包含第五个)
$ cut /etc/passwd -c -5
# 前五个之后的(包含第五个)
$ cut /etc/passwd -c 5-
# 第五个
$ cut /etc/passwd -c 5
# 2到5之间的(包含第五个)
$ cut /etc/passwd -c 2-

 

grep

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

wc

# 行数
$ wc -l /etc/passwd
# 单词数
$ wc -w /etc/passwd
# 字节数
$ wc -c /etc/passwd
# 字符数
$ wc -m /etc/passwd
# 最长行字节数
$ wc -L /etc/passwd

sort

这个命令前面我们也是用过多次,功能很简单就是将输入按照一定方式排序,然后再输出,它支持的排序有按字典排序,数字排序,按月份排序,随机排序,反转排序,指定特定字段进行排序等等。

sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出

sort -u seq.txt
去除重复行
sort -n number.txt
安装数值大小排序

sort -r 降序
sort -n -r number.txt
数值降序
 sort -n -r number.txt -o number.txt
结果写入原文件

-M会以月份来排序,比如JAN小于FEB等等

-b会忽略每一行前面的所有空白部分,从第一个可见字符开始比较。

 

 

uniq 去重命令

uniq命令只能去连续重复的行,不是全文去重  可以进行先排序

 

参数

  • -c或--count 在每列旁边显示该行重复出现的次数。
  • -d或--repeated 仅显示重复出现的行列。
  • -f<栏位>或--skip-fields=<栏位> 忽略比较指定的栏位。
  • -s<字符位置>或--skip-chars=<字符位置> 忽略比较指定的字符。
  • -u或--unique 仅显示出一次的行列。
  • -w<字符位置>或--check-chars=<字符位置> 指定要比较的字符。
  • --help 显示帮助。
  • --version 显示版本信息。
  • [输入文件] 指定已排序好的文本文件。
  • [输出文件] 指定输出的文件。

 

转载于:https://www.cnblogs.com/think-cl/p/9373550.html

最后

以上就是无情月亮为你收集整理的命令执行顺序控制与管道的全部内容,希望文章能够帮你解决命令执行顺序控制与管道所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(373)

评论列表共有 0 条评论

立即
投稿
返回
顶部