shell脚本学习笔记1-常用命令

一、shell脚本是什么?

 通过shell语言将完成一个任务的所有代码写入一个文件,并给予执行权限,这个文件就叫shell脚本。

二、shell脚本常用命令

1、grep:行检索命令

grep  options  'keys'  filename

OPTIONS:这里列举几个常用的

  -i:不区分大小写

  -v:查找不包括的内容,即反向选择

  -w:按单词搜索(完全匹配)

  -n:显示行号

  -A:显示匹配行及后面指定行数  -A 5

  -B:显示匹配行及前面指定行数

  -r:递归查找

  -e:使用正则表达式

  ^key:以关键字开头(一个字符,多个字符需要括号括起来)

  key$:以关键字结尾

 

几个例子:

grep -i root passwd  忽略大小写匹配包含root的行

grep -w root passwd  精确匹配root的行

grep -i ^root passwd  忽略大小写匹配以root开头的行

 

 

2、cut:数据截取

命令选项:

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

  -d:自定义分隔符,默认为\t

  -f:与-d一起使用,指定显示那个区域(按列分)

例子:

以“:”为分隔符,显示第一列

 

 

 

 

 

 

 

3、tr:字符替换、删除

替换:将输入中的string1替换为string2

command | tr  'string1'  'string2'

tr  'string1'  'string2'  <  filename

删除:删除输入中的string1

tr  options  'string1'  <  filename(<为将文件中的内容作为tr命令的输入)

 

OPTIONS:

  -d:删除所有输入中的string1

  -s:删除所有重复出现的字符,只保留第一个;即将重复出现的字符串压缩为一个字符串

例子:

删除:tr -d :/ < passwd

 

 

 替换:tr :/ @ < passwd

 

 

 

 

4、sort:排序

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

语法:sort  options  filename

OPTIONS:

  -u:去除重复行

  -r:降序排列,默认是升序

  -o:将排序结果输出到文件

  -n:以数字排序,默认是字符

  -t:分隔符,指定分隔符后指配合-k指定第几列

  -k:第N列,按第N列进行排序

  -R:随机排序

  -b:忽略前导空格

例子:

sort -n -t: -k3 -r passwd  按照用户的uid进行降序排列

 

 

 

5、uniq:去除连续的重复行(去重前先使用sort进行排序)

语法:

uniq  options  filename

OPTIONS:

  -i:忽略大小写

  -c:统计重复次数

  -d:只显示重复行

 

 

6、tee:双向输出

语法:

command | tee options filename

OPTIONS:

  -a:追加输入

例子:

echo hello,world | tee -a file1  将echo打印的内容追加输入到file1文件中

 

 

 

7、paste:合并文件行输出到屏幕,不会改动源文件

OPTIONS:

  -d:自定义分隔符

  -s:将每个文件中的内容按照一行输出,文件中的行与行已TAB间隔

例子:

paste 1.txt 2.txt

 

 

paste -d @ 2.txt 1.txt

 

 

 

8、xargs:上一个命令的输出作为下一个命令的命令行参数

语法:

''[somecommand]|[filename]'' |xargs -item command

 

 

 

视频教程:https://www.bilibili.com/video/BV1j541157Sr?p=36

视频中的笔记:https://www.zutuanxue.com/home/4/6_8

 

posted @ 2021-06-26 15:13  さくらむすび  阅读(92)  评论(0)    收藏  举报