shell学习记录

标题三

段落

sed命令:替换、删除、更新文件中的内容 

 sed 的命令格式:sed command file
  • command 部分:针对每行的内容所要进行的处理(这部分很重要很重要)。
  • file 部分:要处理的文件,如果忽略 file 参数,则 sed 会把标准输入作为处理对象。

【sed】

  •  -n 只输出明确表明的行
  •  -e 设置多个command(多个 command 之间,是按照在命令中的先后顺序来执行)
【command】
  • 指定行数‘1,3’ 指定第一行到第三行,$ 表示最后一行
动作:
  • d:表示删除行
  • p:打印该行
  • r:读取指定文件的内容
  • w:写入指定文件
  • a:在匹配行下面插入新行新内容
  • i :在匹配行上面插入新行新内容

输出重定向

command1 > file1

 

比较两个字符串是否相等: 

f [ "$test"x = "test"x ]; then
这里的关键有几点:
1 使用单个等号
2 注意到等号两边各有一个空格:这是unix shell的要求
3 注意到"$test"x最后的x,这是特意安排的,因为当$test为空的时候,上面的表达式就变成了x = testx,显然是不相等的。而如果没有这个x,表达式就会报错:[: =: unary operator expected

 

shell脚本中$0,$1,$2含义

$0 : 脚本名称

$1: 传参到shell里的第一个参数

$2: 传参到shell里的第二个参数

 

 

 

------------------分隔符---------------

题目:Linux中如何用一行shell实现筛选出 demo.txt 文件中所有包含字符串 error 的行,并保存至 demo2.txt 文件内;

答:sed -n '/error/p' demo.txt > demo2.txt

 

 

 

 

 

 

 

 

 

posted @ 2022-03-08 17:33  Pollux0609  阅读(21)  评论(0编辑  收藏  举报