问题

1.删除文件中每行的第二个、最后一个字符
分两次替换操作,第一次替换掉第2个字符,第二次替换掉最后一个字符:
sed ‘s/.//2 ; s/.$//’ nssw.txt

2.将文件中每行的第一个、倒数第1个字符互换
每行文本拆分为“第1个字符”、“中间的所有字符”、“倒数第1个字符”三个部分,然后通过替换操作重排顺序为“3-2-1”:
sed -r ‘s/^(.)(.*)(.)$/\3\2\1/’ nssw.txt

3.删除文件中所有的数字
因原文件内没有数字,行首也没有空格,这里稍作做一点处理,生成一个新测试文件:
sed ‘s/[0-9]//’ nssw.txt

4.为文件中每个大写字母添加括号
使用“()”可实现保留功能,所以可参考下列操作解决:
sed -r ‘s/([A-Z])/[\1]/g’ nssw.txt

5.简述egrep工具的-q选项的含义,并验证其在脚本应用中的价值。
选项-q的作用是静默、无任何输出,效果类似于正常的egrep操作添加了&> /dev/null来屏蔽输出。在脚本中当需要检测文本内是否存在指定的关键词时,可以利用egrep -q的返回状态值来作为判断依据,从而简化&>输出的操作。

6.正则表达式中的+、?、*分别表示什么含义?
这三个字符用来限制关键词的匹配次数,含义分别如下:
+:最少匹配一次,比如a+可匹配a、aa、aaa等
?:最多匹配一次,比如a?可匹配零个或一个a
:匹配任意多次,比如a可匹配零个或任意多个连续的a

7.如何编写正则表达式匹配11位的手机号?
egrep ‘1[0-9]{10}’ tel.txt

8.简述sed定址符的作用及表示方式。
作用:地址符(执行指令的条件)控制sed需要处理文本的范围;不加定址符则逐行处理所有行
表示方式:地址符可以使用行号或正则表达式

9.如何使用sed提取文本中的偶数行?
sed -n ‘2~2p’ 文件

10.如何使用sed删除文本中每行的第4个字符?
sed ‘s/.//4’ 文件

11.简述Linux服务脚本中的case分支结构。
Linux服务脚本通常利用$1位置变量来获取控制参数,并结合case分支来做出不同的响应

12.简述定义一个Shell函数的两种方法。
function 函数名 { 函数名() {
命令序列 命令序列
… … … …
} }

13.简述Shell环境常见的中断及退出控制指令。
break:跳出当前所在的循环体,执行循环体后的语句。
continue:跳过循环体内余下的语句,重新判断条件以便执行下一次循环。
exit:退出脚本,默认返回值是 0。

14.简述预定义变量KaTeX parse error: Can't use function '$' in math mode at position 2: 、$̲?、$0、$#、$*、$!的作… 保存当前运行进程的(PID)号
$? 保存命令执行结果的(返回状态)
$0 保存当前运行的(进程名)或(脚本名)
$# 保存位置变量的(个数)
$* 保存所有位置变量的(值)
$! 保存后台(最后一个进程)的PID号

  1. 简述三种定界符在变量赋值操作中的特点。
    双引号 " ":允许扩展,以 $ 引用其他变量
    单引号 ’ ':禁用扩展,即便 $ 也视为普通字符
    反撇号 :将命令的执行输出作为变量值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值