Shell、awk、sed面试精华问题与解答
版权申诉
5星 · 超过95%的资源 157 浏览量
更新于2024-08-07
收藏 320KB DOC 举报
本文档是一份关于Shell、awk、sed编程语言的面试题汇总,不包含答案,旨在帮助面试者准备技术面试。以下部分详细解析了题目涉及的知识点:
1. **选择题**
- 问题1考察了shell的全局变量定义,正确答案是**D.export**,因为它用于将变量导出到当前shell的环境中。
- 问题2强调了shell变量的操作:A选项正确设置了变量值,B错误,应使用`echo $FRUIT`来显示变量值,C选项也是显示变量值的方式,D选项用法错误,应该是`[ -n "$FRUIT" ]`检查变量是否存在。
2. **填空/简答题**
- 第4题要求计算1到1001所有奇数之和,可以使用`awk`的累加功能,如`awk 'BEGIN {sum=0} {if (NR%2==1) sum+=$0} END {print sum}'`。
- 第5题需要创建目录和复制文件,可以使用`mkdir`和`cp`命令结合循环实现。
- 第6题涉及权限设置,使用`mkdir`创建目录,`chmod`设置权限,如`chmod -R 750 /tmp/user*`。
- 第7题是创建定时备份并压缩文件,可以借助`tar`和`cron`结合,具体命令如`tar czf /tmp/bak/yymmdd_etc_$(date +%Y%m%d).tar.gz /etc`。
- 第8题在Bash中,`2>&1`表示将标准错误(stderr)重定向到标准输出(stdout),便于查看错误信息。
- 第9题要求统计关键字"Real"对应的第二列数值并计算平均值,可以使用`awk`配合`sort`和`awk`的`END`块来完成。
- 第10题需提取以"Start"开头的数据并排序,`grep -E '^Start' file | cut -d' ' -f2 | sort`能实现。
- 第11题涉及文件大小筛选和移动,可以使用`find`和`mv`,如`find /webroot/baks -type f -size +10M -size -20M -exec mv {} /diska \;`。
13. **最后一个问题**是列出目录下的.log文件并根据大小过滤,然后移动,可以使用`find`和`du`结合,如`find /webroot/baks -type f -name "*.log" -exec du -b {} \; | grep -v total | awk '{print $1}' | xargs -I {} mv {} /diska`。
这些题目涵盖了Shell的基本语法、变量操作、条件控制、文件系统操作、文本处理、脚本编写以及错误处理等多个方面,对于理解和应用Shell、awk、sed等工具进行自动化任务处理非常关键。熟悉这些问题有助于提升面试时的表现,并加深对这些实用工具的理解。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2010-08-20 上传
2008-09-13 上传
2021-03-19 上传
2013-12-01 上传
2017-08-14 上传